簡體   English   中英

組合標量查詢和返回多列的子查詢的結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM