使用ID-Ref Column SQL在表中选择Name而不是OF ID

时间:2016-04-20 07:03:49

标签: sql sql-server

假设我们有2个表:

 Table A        Table B
 - A_ID         - B_ID
 - A_Name       - A_ID

我需要一个select语句,从表B中选择*显示A_NAME instead of the A_ID

通过尝试,我得到了以下选择语句,其中......不起作用。它给了我很多空值,但没有名字。

SELECT B_ID, 
       (select A_NAME from TableA as A where A.A_ID = B.A_ID) as Name
FROM TableB as B

感谢您的所有答案

最终解决方案:

显示的查询有效(即使它可能很慢),答案中的解决方案也可以正常工作。

为什么它没有给我带来结果的问题是因为我的数据。在具有相同模式的另一个数据库上,所有命令都有效。

2 个答案:

答案 0 :(得分:3)

您应该尝试LEFT JOIN

SELECT 
 B_ID, A_Name 
FROM 
 tableB B LEFT JOIN tableA A
   ON B.A_ID = A.A_ID

答案 1 :(得分:1)

你可以通过加入来实现:

SELECT B.B_ID, A.A_Name 
FROM B 
INNER JOIN A 
ON A.A_ID = B.A_ID;

编辑:

如果你只想要表b中的条目,你可以使用左连接,例如@jarlh说:

SELECT B.B_ID, A.A_Name 
FROM B 
LEFT JOIN A 
ON A.A_ID = B.A_ID;