我有3代表的DB:categories
,items
,relation
。 categories
包含類別。產品被存儲在items
和relation
是綁定表,它存儲的產品ID和類別ID或類別。如何查詢表2相對於一個通過另一個PK描述來PK表?
如何爲項目給定的名單,讓所有類別的名稱?
我有3代表的DB:categories
,items
,relation
。 categories
包含類別。產品被存儲在items
和relation
是綁定表,它存儲的產品ID和類別ID或類別。如何查詢表2相對於一個通過另一個PK描述來PK表?
如何爲項目給定的名單,讓所有類別的名稱?
你可以嘗試簡單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
讓我知道,如果你得到任何錯誤。
就加入他們的行列:
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等
是的,這也能工作之間的簡單內連接。好的。 –
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)
簡單'JOIN'表。 – jarlh
好像樹表 – bksi
https://www.w3schools.com/sql/sql_join.asp – etsa