我有2个表,Table1 (Id, Name, Email)
和Table2 (Id, ItemName, Price, IsShipping)
。我需要在Id
列上加入它们,但IsShipping
列的值为NULL
,我需要将NULL
更改为0
。
现在我有:
SELECT Table1.Id, Table1.Name, Table1.Email, Table2.ItemName, Table2.Price, Table2.IsShipping
FROM Table1
JOIN Table2
ON Table1.Id = Table2.Id
--here I need to make something like:
WHERE IsShipping IS NULL = 0 -- or etc
答案 0 :(得分:3)
使用ANSI标准函数coalesce()
:
SELECT t1.Id, t1.Name, t1.Email, t2.ItemName, t2.Price,
coalesce(t2.IsShipping , 0) as IsShipping
FROM Table1 t1 JOIN
Table2 t2
ON t1.Id = t2.Id;
我还添加了表别名。它们使查询更容易编写和阅读。
答案 1 :(得分:1)
您可以使用coalesce()
,ISNULL
和COALESCE
都是ANSI标准
SELECT Table1.Id, Table1.Name, Table1.Email, Table2.ItemName, Table2.Price,
coalesce(Table2.IsShipping,0) as IsShipping
FROM Table1
JOIN Table2
ON Table1.Id = Table2.Id
答案 2 :(得分:0)
您可以在以下内容中使用ISNULL:
ISNULL用指定的替换值替换NULL。
SELECT t1.Id, t1.Name, t1.Email,
t2.ItemName, t2.Price,
ISNULL(t2.IsShipping, 0) -- Here you pass ISNULL
FROM Table1 t1
JOIN Table2 t2
ON t1.Id = t2.Id