Php 如何在MySQL中连接多个表?
表关系的图像可在中找到 如果我使用下面的查询,我得到的输出如下Php 如何在MySQL中连接多个表?,php,mysql,Php,Mysql,表关系的图像可在中找到 如果我使用下面的查询,我得到的输出如下 SELECT `area`.`area_name` AS AreaName ,COUNT(*) AS num FROM `area` INNER JOIN `fruits` ON (`fruits`.`area_id` = `area`.`area_id`) GROUP BY `fruits`.area_id UNION ALL SELECT `area`.`
SELECT
`area`.`area_name` AS AreaName
,COUNT(*) AS num
FROM
`area`
INNER JOIN `fruits`
ON (`fruits`.`area_id` = `area`.`area_id`)
GROUP BY `fruits`.area_id
UNION ALL
SELECT
`area`.`area_name` AS AreaName
,COUNT(*) AS num
FROM
`area`
INNER JOIN `vegetables`
ON (`vegetables` .`area_id` = `area`.`area_id`)
GROUP BY `vegetables`.area_id
AreaNamenum区域12
区域21
区域31
区域11
区域41
但我希望输出像: 它应获取蔬菜和水果中存在的所有区域,如果该区域在水果或蔬菜中重复,则应通过合计水果和蔬菜的数量返回区域id的总数。。因此,输出如下所示 AreaNamenum
区域13
区域21
区域31
区域41
您可以在查询上使用子选择,并使用
SUM()
添加相同区域的计数
SELECT t.AreaName ,SUM(t.num) num
FROM ( ....) t
GROUP BY t.AreaName
@user3477283,不要只是说声谢谢就走,如果你真的很感激你的努力,那么就接受这个答案来表达你的感激。@user3477283如果它行得通,那么读一读hai rahul和m khalid junaid,我真的很感激你的努力,我真的很抱歉,因为我对堆栈溢出还不熟悉,我不知道……下次我一定会记下它。。
SELECT t.AreaName ,SUM(t.num) num
FROM ( ....) t
GROUP BY t.AreaName