簡體   English   中英

PHP和MySQL多個類別中的一項

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM