2010-04-30 228 views
3

我有2个表A和B有以下的列 表A - 编号,投标,aName,AVAL 表B - ID,BNAMESQL联接查询帮助

其中A.bId相同B. ID。我想从一个查询的结果集获得

A.id,A.aName,B.bName其中A.bId = B.id OR A.id,A.aName “” 当A .bId = 0

在这两种情况下,只有那些记录,应考虑其中A.aVal LIKE“AVAL”

可有人请帮我查询?我可以使用左连接,但是如果bId = 0和B.bName,我如何获得空字符串?

感谢

回答

3
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' 
+0

感谢。我可以将WHERE子句应用于整个查询吗? A.aVal喜欢“aVal”吗? – lostInTransit 2010-04-30 07:59:10

+0

@lostintranslit:当然可以。 – Quassnoi 2010-04-30 08:05:45