我有一个表名" a"
Id name
1 abc
2 xyz
3 mmm
4 xxx
和其他表名是" b"
Id suId
3 2
3 1
我的要求是从" a"来自" b"表= id = 3。有什么帮助吗?
答案 0 :(得分:1)
SELECT a.Id, a.name, b.Id, b.suId FROM b JOIN a ON b.suId = a.Id WHERE b.Id = 3;
答案 1 :(得分:1)
我不推荐加入这种情况(你想要表A中的所有细节,其中ID在表B suId列中,其中表B id应为3.,它的英文不好但希望你能得到我,也许是我你也是。)
SELECT a.name FROM a
WHERE
a.id IN(SELECT b.suId FROM b WHERE b.id = 3);
如果您只想使用加入,
SELECT a.name FROM a,b
WHERE a.id = b.suId
AND
b.id = 3;
答案 2 :(得分:0)
简单回答:
SELECT a.Id,a.name FROM a,b
WHERE a.Id=b.suId AND b.Id=3
它会给你结果:
Id Name
1 abc
2 xyz
请参阅SQL Fiddle
中的结果答案 3 :(得分:0)
这应该完成工作:
SELECT * FROM table_a a JOIN table_b b ON b.suId = a.Id WHERE b.Id = 3;
答案 4 :(得分:0)
你可以尝试这个......你可以尝试不同的JOIN条款,例如INNER JOIN
,LEFT OUTER JOIN
或只是JOIN
等。根据来自的字段连接,您将获得不同的行数1张桌子到另一张。
SELECT T1.*
FROM a T1
INNER JOIN b T2
ON T1.Id = T2.Id
WHERE T1.Id='3'