[英]mysql query with info from 3 different tables
我有一個在線商店,並且產品數據庫的設置如下。 我要做的是形成一個查詢,該查詢將打印其中的主要類別和產品數量,從最少到大多數產品排序。 不做多次查詢就可以嗎?
結果應該是這樣的:
maincat products
melons 0
grapes 2
apples 4
數據庫:
database: maincat
id name
1 apples
2 grapes
3 melons
database: subcat
maincat_id subcat_id name
1 1 yellow apples
1 2 green apples
2 3 normal grapes
3 4 watermelons
3 5 honeydew melon
database: products
subcat_id name
1 yellow apple 1
1 yellow 2
1 yellow 3
2 green apple 1
3 grape 1
3 grape 2
select m.name, count(p.subcat_id) as products
from maincat m
left join subcat s on s.maincat_id = m.id
left join products p on p.subcat_id = s.subcat_id
group by m.name
是的,有可能。 這也是很常見的情況。
您需要在多個表上進行JOIN。
請參閱此鏈接以獲取有關其工作方式以及所需的聯接的詳細說明: https : //stackoverflow.com/a/38578/4218046
這里有2個表的說明,但3個表的工作方式相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.