我有两张桌子。
表1
表2:
其中:
Table1.NO = Table2.ID
我想列出Table1(2700行),但如果Table1不包含Table2的某些行,我想写“NA”
我怎么能用SQL做到这一点?
答案 0 :(得分:1)
尝试LEFT JOIN
和ISNULL
功能,如下所示
SELECT ISNULL(Table1.Name,'NA')
FROM Table1
LEFT JOIN Table2
ON Table1.NO = Table2.ID
答案 1 :(得分:1)
我假设您要从table2输出Name,如果它存在,在这种情况下:
SELECT
a.id,
isnull(b.name, 'NA'),
a.name
FROM
table1 a
LEFT JOIN
table2 b
ON
a.no = b.id
会为你做(我也从table1输出id和name)。
修改强>
道歉,在我发布之前,我没有看到MySQL标签。如果coalesce
,则需要使用isnull
函数,如下所示:
SELECT
a.id,
coalesce(b.name, 'NA'),
a.name
FROM
table1 a
LEFT JOIN
table2 b
ON
a.no = b.id