0

我很难想象这个。我只是没有脑子去做。

我有一张桌子叫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_tobads这样,如果我想set1通过调用reports表来获取整个数据集,我就可以做到。

示例:嘿报告表.. 调出具有report_id 123. 好的,谢谢.. 现在从中获取所有行,该行具有, in字段的行bads中的值。谢谢。set_of_badsreport_id 123set_it_belongs_to

4

1 回答 1

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 keyreportsset_of_bads

于 2012-09-12T15:38:17.627 回答