【问题标题】:Merge result of two sql queries in two columns合并两列中两个sql查询的结果
【发布时间】:2012-11-14 18:20:21
【问题描述】:

查询 1:

SELECT COUNT (A.EMPNO) AS [PRESENT]    
FROM ERPDATA.NIITESS.DBO.ZEMP_MASXST_WEB_AL A INNER                    
JOIN PPA_EVENTWISEEMPLOYEEMASTER B ON 
(CASE B.VC_BA WHEN '%' THEN LTRIM(RTRIM(A.PDIBUSHORT)) ELSE B.VC_BA END) =  LTRIM(RTRIM(A.PDIBUSHORT))                   
AND (CASE B.VC_PA WHEN '%' THEN A.PA ELSE B.VC_PA END) = A.PA                
WHERE A.STATUS = 3  
AND A.EMPNO IN (SELECT VC_EMPCODE FROM ERPDATA.NIITESS.DBO.ADA_MXEASTER WHERE IN_ATTENDANCE_STATUS = 1 AND CH_ACTIVE = 'Y' AND VC_EMPCODE <> '')                    
GROUP BY B.IN_EVENTID

查询 2:

SELECT COUNT (A.EMPNO) AS [TOTAL]    
FROM ERPDATA.NIITESS.DBO.ZEMP_MASXST_WEB_AL A INNER                    
JOIN PPA_EVENTWISEEMPLOYEEMASTER B ON 
(CASE B.VC_BA WHEN '%' THEN LTRIM(RTRIM(A.PDIBUSHORT)) ELSE B.VC_BA END) =  LTRIM(RTRIM(A.PDIBUSHORT))                   
AND (CASE B.VC_PA WHEN '%' THEN A.PA ELSE B.VC_PA END) = A.PA                
WHERE A.STATUS = 3  

我想将两个结果合并到两列中,其中缺少一列 = 查询 2 - 查询 1 以加快处理速度。我该怎么做? 示例:
我有两个结果:
//----------------------------------------查询:1
1
2
3
4
//-------------------------------------- 查询:2
4
5
6
8

//------------------------------------两列中的OUTCOME AS
1   5
2   6
3   7
4   8

【问题讨论】:

  • 结果的匹配条件是什么。您的结果也可以是 (1,8), (2,5), (3, 6), (4,7) 或任何其他组合。没有基于哪些查询将被连接的条件。

标签: sql sql-server tsql join


【解决方案1】:
Select a.C1-b.C2 as Res
 from
(
Select Count(*) as C1 from Users
Group by Name
) a
join
(
Select Count(*) as C2 from User2
Group by Name
) b ON 1=1 -- or desired condition if existing

【讨论】:

    猜你喜欢
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 2021-07-02
    • 2011-04-05
    • 2021-10-16
    • 1970-01-01
    相关资源
    最近更新 更多