繁体   English   中英

将两个 SELECT SQL MS Access 查询合并到一个查询中以制作一个包含两列的表

[英]Combining two SELECT SQL MS Access queries into a single query to make a table with two columns

对于 MS Access,我在 SQL 中有两个查询。 第一个是:

SELECT AVG(Salary) AS AverageSalary FROM Table WHERE EducationLevel = 1;

第二个查询:

SELECT AVG(Salary) AS AverageSalary2 FROM Table WHERE EducationLevel = 2;

如何将它们组合到一个查询中以生成包含两列的表,分别标记为“AverageSalary”和“AverageSalary2”?

可以一次查询完成。 考虑:

条件表达式:

SELECT Avg(IIf(EducationLevel = 1, Salary, Null)) AS AverageSalary, 
       Avg(IIf(EducationLevel = 2, Salary, Null)) AS AverageSalary2
FROM [Table];

或交叉表:

TRANSFORM Avg(Table.Salary) AS AvgOfSalary
SELECT 1 AS R
FROM [Table]
GROUP BY 1
PIVOT "AverageSalary" & [EducationLevel];
Below query, if the educational level field is a number field

 

     SELECT Avg(Switch([EducationalLevel]=1,[salary])) AS AverageSalary, 
     Avg(Switch([EducationalLevel]=2,[salary])) AS AverageSalary2
     FROM salary;

下面查询educationlevel字段是否为文本字段

   SELECT Avg(Switch([EducationalLevel]="1",[salary])) AS AverageSalary, 
    Avg(Switch([EducationalLevel]="2",[salary])) AS AverageSalary2
    FROM salary;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM