如何检索依赖于 mysql 中引用 table 数据的行?
How to retrieve rows dependent on reference table data in mysql?
我有两个像这样的 table..
数据Table
Key
D1
D2
1
Blah
Blah
2
Blah
Blah
1
Blah
Blah
3
Blah
Blah
3
Blah
Blah
关系Table
id
fkey
status
1
2
1
2
1
3
3
2
1
1
3
1
如果用户的 id=1。而对于引用table中的每个id=1,只要status等于1,我就想获取fkey(引用DataTable键),获取其中的所有Data与该 fkey 匹配的数据 Table。我想为关系 Table 中具有 id=1.
的每个 fkey 执行此操作
例如,id=1 的最终产品如下所示...
决赛Table
key
d1
d2
2
Blah
Blah
3
Blah
Blah
3
Blah
Blah
可以在连接和子查询的帮助下获得预期的输出。我在本地复制了相同的 table 结构,下面的查询对我有用。
SELECT `key`, `d1`, `d2` from tbl1 JOIN (SELECT * FROM tbl2 where status = 1 GROUP BY fkey) as finaltbl2 ON tbl1.key = finaltbl2.fkey;
使用子查询从tableRelation
中获取所有属于id 1的fkey,然后在tableData
中作为匹配条件得到期望的结果。
select * from `Data` where `key` in
(select fkey from `Relation` where id=1 and `status`=1);
我有两个像这样的 table..
数据Table
Key | D1 | D2 |
---|---|---|
1 | Blah | Blah |
2 | Blah | Blah |
1 | Blah | Blah |
3 | Blah | Blah |
3 | Blah | Blah |
关系Table
id | fkey | status |
---|---|---|
1 | 2 | 1 |
2 | 1 | 3 |
3 | 2 | 1 |
1 | 3 | 1 |
如果用户的 id=1。而对于引用table中的每个id=1,只要status等于1,我就想获取fkey(引用DataTable键),获取其中的所有Data与该 fkey 匹配的数据 Table。我想为关系 Table 中具有 id=1.
的每个 fkey 执行此操作例如,id=1 的最终产品如下所示...
决赛Table
key | d1 | d2 |
---|---|---|
2 | Blah | Blah |
3 | Blah | Blah |
3 | Blah | Blah |
可以在连接和子查询的帮助下获得预期的输出。我在本地复制了相同的 table 结构,下面的查询对我有用。
SELECT `key`, `d1`, `d2` from tbl1 JOIN (SELECT * FROM tbl2 where status = 1 GROUP BY fkey) as finaltbl2 ON tbl1.key = finaltbl2.fkey;
使用子查询从tableRelation
中获取所有属于id 1的fkey,然后在tableData
中作为匹配条件得到期望的结果。
select * from `Data` where `key` in
(select fkey from `Relation` where id=1 and `status`=1);