两列合并两个SQL查询的结果(Merge result of two sql queries in

2019-07-04 04:25发布

问题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至更快的处理速度。 我该怎么做? 示例:
我有两个结果:
// ---------------------------------------- QUERY:1
1
2
3
4
// -------------------------------------- QUERY:2
4

6
8

// ------------------------------------结果一样在两列
1 5
2 6
3 7
4 8

Answer 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


文章来源: Merge result of two sql queries in two columns