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