2013-05-06 66 views
1

這是我有: 1.我有一個名爲「International_Codes」的表,有2列(int_code_id,desc) 2.我有另一個名爲「size_charts」的表,它有(int_code_id,xs,s,m,l, xl)如何從表中的主鍵中選擇數據,當它不等於在另一個表中鍵入鍵時?

我有一個「選擇列表」,其中包含除「size_charts」表中已有列表外的所有「國際代碼」。

這裏就是我所做的:

SELECT international_codes.int_code_id, international_codes.desc 
FROM international_codes, size_charts 
WHERE international_codes.int_code_id <> size_charts.int_code_id 

它給我重複的條目和錯誤的數據。 我也嘗試使用連接,但得到錯誤的數據。

回答

1

您應該使用LEFT JOIN:

SELECT international_codes.int_code_id, international_codes.desc 
FROM international_codes LEFT JOIN size_charts 
     ON international_codes.int_code_id = size_charts.int_code_id 
WHERE size_charts.int_code_id IS NULL 

將返回從size_charts匹配來自international_codes所有行,只有行。如果沒有匹配,則size_charts.int_code_id將爲NULL。

選擇所有行,其中size_charts.int_code_id IS NULL將返回size_charts表上沒有匹配的來自international_codes的所有行。

+0

是的,它像一個魅力,非常感謝@fthiella – CairoCoder 2013-05-06 20:55:27

+0

完美的代碼,完美的解釋。 :) – CairoCoder 2013-05-06 20:56:45

相關問題