如何检索依​​赖于 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);