当前位置: 首页 > 面试题库 >

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

张璞
2023-03-14
问题内容

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


问题答案:
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


 类似资料:
  • 问题内容: 我有一个库存表,我想创建一个报告,以显示订购商品的频率。 “库存”表: 基本上,我需要将这两个查询结合在一起。 查询打印库存余额: 打印销售统计信息的查询 我认为某种JOIN可以完成这项工作,但我不知道如何将查询粘合在一起。 所需的输出: 这仅是示例。也许我将需要添加更多条件,因为有更多列。是否存在将多个查询组合在一起的通用技术? 问题答案:

  • 问题内容: 我要么变老,要么我需要写的查询变得越来越复杂。以下查询将获取与该用户的所有关联。 该表为(,,,); 现在,我还需要通过 独立查询如下所示: 但是,是否可以将这两个查询合并为一个查询?我的逻辑认为应该这样,尽管我不知道如何进行实际的JOIN。 问题答案: 我可能会使用UNION。

  • 问题内容: 我想将两个选择查询与结合在一起。 如何使用第二个中的第一个结果? 问题答案: 使用 CTE 可以在多个查询中重用子查询的结果。 为此,您需要PostgreSQL 8.4+: 您最有可能想要而不是。不排除重复项,这样可以更快。

  • 在SQL Server中,我有两个来自两个表的查询。 第一个表“Values1”有两列:“index1”和“value1”。第二个表“Values2”有“index2”和“value2”列。 我想要一个查询,对于一对索引值“d1”和“d2”,可以输出所有“index1”和“value e1”行,其中对应的index1在“d1”和“d2”之间,以及“Values2”表中具有“index2”值在“d1

  • 本文向大家介绍MySQL查询将两列合并为一个列?,包括了MySQL查询将两列合并为一个列?的使用技巧和注意事项,需要的朋友参考一下 您可以为此使用功能。在该函数中,它从列中返回第一个NON NULL值。为了理解这个概念,让我们首先创建一个演示表 使用insert命令在表中插入一些记录。查询如下- 现在,您可以使用select语句显示表中的所有记录。查询如下- 以下是输出 这是将两列合并为一个查询的

  • 问题内容: 如何合并这两个SQL语句? 两个表中都存在hits10,hits11和hits12。 问题答案: 使用UNION查询-只需在两个查询之间填入“ UNION”即可: 更新 将联合包装在另一个查询中: