2013-09-27 63 views
2

當使用JOIN時是否可以使用*。我至今都使用SELECT *加入

SELECT * FROM default_ps_products_categories INNER JOIN default_ps_products_brand_by_cat 

,但我想它返回每個之一,不是兩個如下面的結果 - 我必須做正確的查詢和選擇的表?符合這兩個coloumns是idcat_id

enter image description here

回答

4

你錯過了在加入ON條款,在這種情況下,MySQL的返回一個完整的笛卡兒連接,而不是抱怨。

嘗試(我使用別名,因爲表的名稱是長):

SELECT * 
FROM default_ps_products_categories C 
INNER JOIN default_ps_products_brand_by_cat B ON C.id = B.cat_id 

注:*是好的,是不是你的問題的根源。

+0

+1爲您的答案和「笛卡爾」一詞的使用!這就是說,我建議在用於除測試以外的應用程序(以及其他幾個非常罕見的應用程序)中使用SELECT語句時不要使用*。 – user1032531

+0

@ user1032531與*一致,它通常會導致麻煩,除了輸入更多的字符外,什麼也不做 –