Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在一个报表中合并两个查询计算最大值_Sql_Ms Access_Report - Fatal编程技术网

Sql 如何在一个报表中合并两个查询计算最大值

Sql 如何在一个报表中合并两个查询计算最大值,sql,ms-access,report,Sql,Ms Access,Report,我有一个表(table1),其中包含: 副县名, 县名称,malepop(每个子县),femalepop(每个子县) 我想做一份报告,告诉我该县男性和女性人口最多的子县 我所尝试的: 我创建了两个查询,一个用于计算男性流行率最高的子县,另一个用于计算女性流行率最高的子县。然而,我不知道如何将这两种情况合并成一份报告。我能得到一个如何做的提示吗 我使用的查询有: SELECT Sub_county_name,county_name,male_pop FROM table1 WHERE male_p

我有一个表(
table1
),其中包含:

副县名, 县名称,malepop(每个子县),femalepop(每个子县)

我想做一份报告,告诉我该县男性和女性人口最多的子县

我所尝试的:

我创建了两个查询,一个用于计算男性流行率最高的子县,另一个用于计算女性流行率最高的子县。然而,我不知道如何将这两种情况合并成一份报告。我能得到一个如何做的提示吗

我使用的查询有:

SELECT Sub_county_name,county_name,male_pop
FROM table1
WHERE male_pop = (SELECT MAX(male_pop) FROM table1 a
                  WHERE a.county_name = table1.county_name);


SELECT Sub_county_name,county_name,female_pop
FROM table1
WHERE female_pop = (SELECT MAX(female_pop) FROM table1 a
                    WHERE a.county_name = table1.county_name);

如果需要组合查询,可以使用以下查询获得:

SELECT        Sub_county_name, county_name, male_pop, female_pop
FROM            table1
WHERE        (male_pop =
                             (SELECT        MAX(male_pop) AS Expr1
                               FROM            table1 AS a
                               WHERE        (county_name = table1.county_name))) AND (female_pop =
                             (SELECT        MAX(female_pop) AS Expr1
                               FROM            table1 AS a
                               WHERE        (county_name = table1.county_name)))

我建议将子查询放入
FROM
子句中:

SELECT table1.*
FROM table1 JOIN
     (SELECT county_name, MAX(male_pop) as maxmp, MAX(female_pop) as maxfp
      FROM table1
      GROUP BY county_name
     ) m
     ON table1.county_name = m.county_name and
        (table1.male_pop = m.maxmp OR table1.female_pop = m.maxfp);

或者这两个WHERE从句在一起?我想OP想要或代替AND。