[英]PHP & MySQL One item in multiple categories
我嘗試從stores
表中選擇可以屬於多個類別的所有項目
這是我的表結構:
stores
表
id
name
categories
表
id
name
store_category
表
store_id
category_id
我已經嘗試了以下查詢,但是它無法按我的意願進行:
SELECT * FROM (stores JOIN store_category ON stores.id = store_category.store_id) JOIN categories ON store_category.category_id = categories.id
我想做的是:
選擇所有
stores
已CATEGORY_ID = PHP變量$ CATEGORY_ID在設置store_category
*添加為偽代碼
我怎樣才能做到這一點?
PS:填充表的示例
`stores`
id | name
1 | amazon
1 | aliexpress
`categories`
id | name
1 | smartphones
2 | fashion
`store_category`
store_id | category_id
1 | 1
1 | 2
2 | 1
2 | 2
從這個表設計中,我想表示兩個商店都包含在兩個類別中
如果要選擇名稱為“ some_category”的所有屬於該類別的商店,則可以嘗試以下操作:
SELECT aa.id, aa.name
FROM stores AS aa
INNER JOIN store_category AS bb
ON aa.id = bb.store_id
INNER JOIN category AS cc
ON bb.category_id = cc.id
WHERE cc.name = 'some_category';
在此示例中,我首先獲得帶有類別名稱的所有行,然后加入商店。 因此,您不必查詢所有具有類別的商店
SELECT s.name
FROM store_category AS sc
LEFT JOIN stores AS s ON sc.store_id = c.id
WHERE sc.category_id = 2;
它不是睾丸。 如果適合您,請立即讓我。
您只需執行以下操作:
SELECT table1.*, table2.*, table3.* from table1, table2, table3
where table1.id=table2.id and table2.id=table3.id and
table3.id=table1.id;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.