我很难想象这一点。我只是没有大脑去做。
我有一张名为reports
的表。
---------------------------------------------
| report_id | set_of_bads | field1 | field2 |
---------------------------------------------
| 123 | set1 | qwe | qwe |
---------------------------------------------
| 321 | 123112 | ewq | ewq |
---------------------------------------------
我有另一个名为bads
的表。该表包含错误数据列表。
-------------------------------------
| bad_id | set_it_belongs_to | field2 | field3 |
-------------------------------------
| 1 | set1 | qwe | qwe |
-------------------------------------
| 2 | set1 | qee | tte |
-------------------------------------
| 3 | set1 | q44w | 3qwe |
-------------------------------------
| 4 | 234 | qoow | 3qwe |
-------------------------------------
我想设置外键关键的主键。我的问题是,如何在set_of_bads
表格中将字段set_it_belongs_to
与bads
相关联。这样,如果我想通过调用set1
表来获取reports
的整个数据集,我可以这样做。
示例:嘿报告表..显示包含report_id
123
的行。好的,谢谢。现在,在bads
字段中获取set_of_bads
的{{1}}行中report_id
123
行的所有行。感谢。
答案 0 :(得分:2)
尝试这个,
SELECT a.*, -- will display all records from reports table
b.* -- will display all records from bads table
FROM reports a
INNER JOIN bads b
ON a.set_of_bads = b.set_it_belongs_to
WHERE a.report_ID = 123
更新1
在CREATE TABLE
语句中,在bads
表
CREATE TABLE bads
(
bad_id INT AUTO_INCREMENT ,
set_it_belongs_to VARCHAR(50),
field2 VARCHAR(50),
field3 VARCHAR(50),
CONSTRAINT bads_pk PRIMARY KEY (bad_id),
CONSTRAINT bads_fk FOREIGN KEY (set_it_belongs_to)
REFERENCES reports(set_of_bads)
);
并确保primary key
表的reports
为set_of_bads