假设我们有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
感谢您的所有答案。
最终解决方案:
显示的查询有效(即使它可能很慢),答案中的解决方案也可以正常工作。
为什么它没有给我带来结果的问题是因为我的数据。在具有相同模式的另一个数据库上,所有命令都有效。
答案 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;