簡體   English   中英

mysql查詢來自3個不同表的信息

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

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