我正在使用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 然后我需要选择所有DATA,其中ID =第一个查询的结果(返回AAA,BBB,CCC)
这可以在一个或两个查询中完成吗?如果你能指出我正确的操作员的方向,我可以解决它。
谢谢!
答案 0 :(得分:4)
SELECT b.DATA
FROM tbl1 a
LEFT JOIN tbl2 b ON b.ID = a.FID
WHERE a.ID = 2
将返回:
AAA BBB CCC
答案 1 :(得分:2)
正确的运营商是JOIN
。祝你好运。
答案 2 :(得分:0)
我不太清楚需要加入什么,但是:
SELECT * FROM tbl2 INNER JOIN (SELECT * FROM tbl1 WHERE ID=2) a ON a.FID=tbl2.ID
答案 3 :(得分:0)
您可以使用" INNER JOIN"从多个表中选择多个字段。
SELECT T1.FID, T2.DATA
FROM tbl1 T1
WHERE T1.ID = 2
INNER JOIN tbl2 T2
ON T1.ID = T2.ID