1
新到SQL,使用MS SQL Sever的管理工作室AdventureWorks示例數據庫:如何將兩個select語句組合成一個表,並使用兩個獨立的列?
試圖在兩個SELECT
報表每個包含男女員工的COUNT
結合起來。 我可以使用UNION ALL將兩個計數返回到同一個表上的兩行。
SELECT COUNT(HumanResources.Employee.Gender) AS 'Male Employees'
FROM HumanResources.Employee
WHERE Employee.Gender = 'M'
UNION ALL
SELECT COUNT(HumanResources.Employee.Gender) AS 'Female Employees'
FROM HumanResources.Employee
WHERE Employee.Gender = 'F';
但是我試圖讓每個M/F的COUNT
在兩個單獨的列。管理得到兩個單獨的列出現,但計數不存在。
SELECT Set1.[Male Employees], Set2.[Female Employees]
FROM
(
SELECT COUNT(Employee.Gender) AS 'Male Employees'
FROM HumanResources.Employee
WHERE Employee.Gender = 'M'
) as Set1
INNER JOIN
(
SELECT COUNT(Employee.Gender) AS 'Female Employees'
FROM HumanResources.Employee
WHERE Employee.Gender = 'F'
) as Set2
on Set1.[Male Employees] = Set2.[Female Employees]
我覺得我失去了一些東西明顯..
我看,看起來比使用'INNER JOIN'更有效率 – girthquake