2017-09-12 24 views

回答

2

你可以嘗試簡單LEFT JOIN這樣。

SELECT 
    * 
FROM 
    items AS i 
LEFT JOIN relation AS r ON i.id = r.id_items 
LEFT JOIN categories AS c ON r.id_cat = c.id 

希望這會有所幫助。

上面的查詢會給你所有的筆記,甚至在關係表映射的項目,而下面的查詢會給你只已在表關係定義的關係,這些項目

SELECT 
    * 
FROM 
    items AS i 
RIGHT JOIN relation AS r ON i.id = r.id_items 
LEFT JOIN categories AS c ON r.id_cat = c.id 

讓我知道,如果你得到任何錯誤。

3

就加入他們的行列:

SELECT * 
FROM relation r 
INNER JOIN items i ON r.id_items = i.id 
INNER JOIN categories c ON r.id_cat = c.id 

。注意,INNER JOIN將只選擇兩個表中顯示的記錄。 *在這裏選擇所有列。如果不希望所有的人,你可以選擇你想要像這樣的:i.id,i.name,c.id,c.name等

+0

是的,這也能工作之間的簡單內連接。好的。 –

1
SELECT distinct(c.name) from categories c 
JOIN relation as r on c.id = r.id_cat 
JOIN items as c on i.id = r.id_items 
WHERE i.id in (8, x, y, z, ...etc)