2016-11-05 41 views
1

這是一個noob問題,我知道。 我有2個表:加入SQL語句 - 缺少記錄...(簡單noob請求)

DB Design

的數據看起來像這樣...

products_services:

enter image description here

product_service_categories:

enter image description here

我的SQL語句如下:

SELECT product_service_id, product_service_name, product_service_category_name 
FROM products_services 
JOIN product_service_categories ON 
products_services.product_service_category_id = product_service_categories.product_service_category_id 
WHERE products_services.company_id = '7' 
ORDER BY product_service_category_name, product_service_name 

結果看起來是這樣的:

SQL result

我缺少的條目 「ID 2 - Ernährungsberatung」。該條目由於其「product_service_category_id」爲「0」而丟失。

請幫我用正確的SQL語句來獲取這條記錄。

謝謝!

+0

問題沒有意義。如果你想要id 2,你爲什麼要過濾公司ID? –

+0

是的,你是對的。我的截圖不正確。在「product_ser = 7」和「product_service_category_id = 0」的表product_services的屏幕截圖上缺少樣本條目。但Dudu的回答做到了...... :-) – Walhalla

回答

0

替換JOINLEFT JOIN
JOIN只返回匹配的行。
LEFT JOIN返回左表中的所有行,可能匹配右表。

+0

對不起。我看到,我的表「products_services」的屏幕截圖是錯誤的,缺少「company_id = 7」和「product_service_category_id = 0」的條目。 但是......非常感謝您的回答!它正在與「左連接」! :-) 祝您有美好的一天! – Walhalla

+0

它應該爲你工作 –

+0

只是在我的應用程序中實現它。它正在工作:-) :-) :-)謝謝 – Walhalla