0

我正在使用 MYSQL 数据库。

我有以下内容:

tbl1

ID(p) | FID(p)
1     7
2     7
2     8
7     2
3     9

tbl2

DATA(p) | ID(f)
AAA      7
BBB      7
CCC      8

我需要从 tbl1 (7, 8) 中选择 ID = 2 的所有 FID 然后我需要选择 ID = 第一个查询结果的所有数据(返回 AAA、BBB、CCC)

这可以在一个或两个查询中完成吗?如果您能指出正确的操作员的方向,我可以解决。

谢谢!

4

4 回答 4

4
SELECT b.DATA 
FROM tbl1 a
LEFT JOIN tbl2 b ON b.ID = a.FID
WHERE a.ID = 2

将返回:

AAA
BBB
CCC

于 2012-09-17T21:46:36.667 回答
2

正确的运算符是JOIN。祝你好运。

于 2012-09-17T21:45:38.937 回答
0

我不太清楚需要加入什么,但类似:

SELECT * FROM tbl2 INNER JOIN (SELECT * FROM tbl1 WHERE ID=2) a ON a.FID=tbl2.ID
于 2012-09-17T21:46:43.207 回答
0

您可以使用“INNER JOIN”从多个表中选择多个字段。

SELECT T1.FID, T2.DATA
FROM tbl1 T1 
WHERE T1.ID = 2
INNER JOIN tbl2 T2
ON T1.ID = T2.ID
于 2012-09-17T21:49:31.280 回答