繁体   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