小编典典

在两列中合并两个SQL查询的结果

sql

查询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

// ------------------------------------两列结果AS
1 5
2听6
3听7
4听8


阅读 511

收藏
2021-04-07

共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
2021-04-07