使用join将数据从一个表获取到另一个表

时间:2014-02-28 06:42:31

标签: sql database

我有一个表名" a"

 Id   name
 1    abc
 2    xyz
 3    mmm
 4    xxx

和其他表名是" b"

  Id    suId
   3     2
   3     1

我的要求是从" a"来自" b"表= id = 3。有什么帮助吗?

5 个答案:

答案 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 JOINLEFT OUTER JOIN或只是JOIN等。根据来自的字段连接,您将获得不同的行数1张桌子到另一张。

SELECT T1.*
FROM a T1
INNER JOIN b T2
ON T1.Id = T2.Id
WHERE T1.Id='3'