我有2个表A和B,并包含以下各列
表A-id,bId,aName,aVal
表B-id,bName
其中A.bId与B.id相同.我想要查询的结果集
A.id,A.aName,B.bName,其中A.bId = B.id或
当A.bId = 0时,A.id,“”.
在这两种情况下,仅应在A.aVal之类的“ aVal”中考虑那些记录.
有人可以帮我查询吗?我可以使用左联接,但是如果bId = 0和B.bName否则如何获得空白字符串?
谢谢
最佳答案
SELECT a.id,a.aname,COALESCE(b.bname,'')
FROM a
LEFT JOIN
b
ON b.id = NULLIF(a.bld,0)
WHERE a.aval LIKE 'aval'