2016-01-22 59 views
0

我有兩個表COD_CLIENTCLIENT表的主鍵。 Adress沒有主鍵。獲取table2數據是否包含表1的主鍵

CLIENT

COD_CLIENT | NAME_CLIENT 

ADRESS

COD_CLIENT | CITY | STREET | NUMBER 

我想獲得的所有客戶端,並且如果ADRESS包含客戶端代碼,我想選擇該行也,所有在一個查詢中。

但是,如果沒有地址,只需忽略Adress行,但保留Client數據。

我嘗試這樣做:

SELECT c.*,e.* 
FROM CLIENT c 
RIGHT JOIN ADRESS e (e.COD_CLIENT = c.COD_CLIENT) 

但是,當然,它沒有工作。

我該如何獲得這些結果?

回答

3

如果我深知......你只需要改變你的右鍵加入左連接使SQL檢索所有的客戶端與他們的地址的客戶端表。如果他們沒有地址,你會在這些字段中得到NULL。

SO:

SELECT c.*,e.* 
FROM CLIENT c 
LEFT JOIN ADRESS e ON e.COD_CLIENT = c.COD_CLIENT 

REF:http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins

+0

甲骨文指向 「缺少關鍵字」 – Phiter

+0

對不起你 「ADRESS E」 之前錯過ON。所以「SELECT c。*,e。*從客戶端c左連接ADRESS e ON(e.COD_CLIENT = c.COD_CLIENT)」 –

+0

是的,它的工作,謝謝:) – Phiter

0
SELECT c.*,e.* 
FROM CLIENT c 
LEFT JOIN ADRESS e ON e.COD_CLIENT = c.COD_CLIENT