[英]Combine scalar query and results from a subquery that returns multiple columns
有没有办法组合两个查询,一个是标量查询,另一个是多列子查询,以在一行中返回数据?
SELECT
DB_NAME() DB,
(select SettingValue from Settings where SettingName = 'XYZ') 'Is XYZ',
(SELECT Department.DeptName, COUNT(*)
FROM (SELECT DISTINCT substring(Source, len(Source) - 17, 14) AS DeptId FROM AuditLog) LogDept
inner join Department on LogDept.DeptId = Department.DeptId
GROUP BY Department.DeptName)
我想要这样的结果
D B | 是 XYZ | 部门名称 | 数数 |
---|---|---|---|
测试 | 真的 | 鳍 | 20 |
测试 | 真的 | 人力资源部 | 12 |
从字面上看,只需将它们添加到您的子查询并使其成为您的主查询。
SELECT
DB_NAME() DB
, (SELECT SettingValue FROM Settings WHERE SettingName = 'XYZ') 'Is XYZ'
, D.DeptName, COUNT(*)
FROM (
SELECT DISTINCT substring(Source, len(Source) - 17, 14) AS DeptId
FROM AuditLog
) LogDept AS LD
INNER JOIN Department AS D ON D.DeptId = LD.DeptId
GROUP BY D.DeptName;
我建议使用我已经演示过的短表别名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.