14

有没有办法在两个表上执行 LEFT OUTER JOIN 时插入零而不是 NULL?

假设我有这样的查询:

SELECT * FROM
(SELECT uID from Class) T1
LEFT OUTER JOIN
(SELECT pID from University) T2
ON T1.uID = T2.pID
CASE WHEN T1.uID IS NULL
    THEN 0
ELSE T1.uID
END AS uID`

如我错了请纠正我

4

3 回答 3

16

如果字段为 NULL,则使用ISNULL(field, 0)它将插入零

于 2012-11-08T05:32:58.860 回答
10
CASE WHEN a.fieldname IS NULL 
       THEN 0
       ELSE a.fieldname
END AS fieldname
于 2012-11-08T05:29:56.763 回答
4

就像是:-

SELECT * FROM
(SELECT ifnull(uID,0) as uID from Class) T1
   LEFT OUTER JOIN
 (SELECT ifnull(pID,0) as pID from University) T2
   ON T1.uID = T2.pID
于 2014-12-10T10:42:44.053 回答