【发布时间】:2016-02-12 13:18:27
【问题描述】:
我有两个 SQL 查询 (SQL Server),这给了我两个结果。我想合并这两个查询以获得一个整体结果。我尝试了许多排列,但似乎没有一个起作用。这是两个查询:
SELECT DATEPART(YEAR,fld_one) [Year],
DATEPART(QUARTER,fld_one) [Quarter],
COUNT(1) [Licenses]
FROM tbl_licenses
GROUP BY DATEPART(YEAR,fld_one),DATEPART(QUARTER,fld_one)
ORDER BY 1,2
SELECT fld_company
FROM tbl_licenses
WHERE fld_quantity = (SELECT MAX(fld_quantity) FROM tbl_licenses)
基本上我希望 fld_quantity 值出现在 YEAR、QUARTER 和 LICENSES 旁边的列中。
任何帮助将不胜感激。
【问题讨论】:
-
向我们展示示例表数据,以及预期的结果!
-
发布示例数据 - 此外,如果您希望“fld_quantity”出现在您的第一个查询的行旁边,您需要解释哪些列与两个数据集相关。换句话说,我们如何知道您的第一个查询中的哪些行与您的第二个查询中的行相关?
-
“我已经尝试了许多排列”,它们是什么?没有必要人们仅仅因为你没有排除他们而重复这些。
-
将查询 1 放入 #temp 表中,然后将查询 2 加入其中。
-
@DaveKelly CTE 会更干净(并且可能性能更高;我不知道)。
标签: sql sql-server merge