繁体   English   中英

将两个SQL查询的结果组合为单独的列

[英]Combining the results of two SQL queries as separate columns

我有两个返回单独结果集的查询,查询返回正确的输出。

如何将这两个查询合并为一个,以便我可以将单个结果集与每个结果放在一个单独的列中?

查询1:

SELECT SUM(Fdays) AS fDaysSum From tblFieldDays WHERE tblFieldDays.NameCode=35 AND tblFieldDays.WeekEnding=?

查询2:

SELECT SUM(CHdays) AS hrsSum From tblChargeHours WHERE tblChargeHours.NameCode=35 AND tblChargeHours.WeekEnding=?

谢谢。

您可以在select查询中对查询和选择它们进行别名
http://sqlfiddle.com/#!2/ca27b/1

SELECT x.a, y.b FROM (SELECT * from a) as x, (SELECT * FROM b) as y

你可以使用CROSS JOIN

SELECT *
FROM (  SELECT SUM(Fdays) AS fDaysSum 
        FROM tblFieldDays 
        WHERE tblFieldDays.NameCode=35 
        AND tblFieldDays.WeekEnding=1) A -- use you real query here
CROSS JOIN (SELECT SUM(CHdays) AS hrsSum 
            FROM tblChargeHours 
            WHERE tblChargeHours.NameCode=35 
            AND tblChargeHours.WeekEnding=1) B -- use you real query here

您还可以使用CTE来获取所需的信息组,并将它们连接在一起,如果您希望它们位于同一行中。 示例,取决于您使用的SQL语法,此处:

WITH group1 AS (
  SELECT testA
    FROM tableA
),
group2 AS (
  SELECT testB
    FROM tableB 
)
SELECT *
  FROM group1
  JOIN group2 ON group1.testA = group2.testB --your choice of join
;

您可以根据所提取的数据确定所需的JOIN类型,并确保在获取信息的组中具有相同的字段,以便将它们全部放入一行中。 如果您有多个列,请确保将它们全部正确命名,以便了解哪个列。 此外,为了性能,CTE是要走的路,而不是内联SELECT等。 希望这可以帮助。

如何将4个查询作为单个查询加入

显示如下查询

  1. 本月提交的案件总数+ 2.cases(基于sysdate)+案件总数(1 + 2)+否。 案件处理nse = dispos + no。 待处理的案件(除了nse <>处置)

nsc =案件的性质

报告每月06日报告

(月度报告将从上个月的第05个月到现在的05个月)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM