【发布时间】:2020-12-15 09:40:19
【问题描述】:
SELECT
tblEmployeeMaster.TeamName, SUM(tblData.Quantity) AS 'TotalQuantity'
FROM
tblData
INNER JOIN
tblEmployeeMaster ON tblData.EntryByHQCode = tblEmployeeMaster.E_HQCode
INNER JOIN
tblPhotos ON tblEmployeeMaster.TeamNo = tblPhotos.TeamNo
WHERE
IsPSR = 'Y'
GROUP BY
tblPhotos.TeamSort, tblPhotos.TeamNo, tblPhotos.Data,
tblEmployeeMaster.TeamName
ORDER BY
tblPhotos.TeamSort DESC, TotalQuantity DESC
返回
使用此语句
select TeamName, count(TeamName) AS 'Head Count'
from dbo.tblEmployeeMaster
where IsPSR = 'Y'
group by teamname
返回
我想将这 2 个查询合二为一,得到以下结果。
尝试联合/联合但没有成功:(
任何帮助都会非常有帮助。
【问题讨论】:
-
为什么在初始查询中按所有其他列进行分组,而它们都没有出现在您的
SELECT中? -
你的第一个查询真的返回指定的结果吗?我希望有一个例外......
-
@jarlh 第一个查询有什么问题?
-
@DavidG,GROUP BY 子句与 SELECT 列表不匹配,我很难相信它会返回指定的结果。 (但是,SQL Server 可能会奇怪地接受字符串文字作为列别名,而不是标识符 - 所以它可能不会引发错误?)
-
@jarlh 您不需要从 GROUP BY 中选择所有内容,字符串别名可以正常工作。
标签: sql sql-server sql-server-2014