2010-04-30 100 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