gpt4 book ai didi

sql - 在 SQL Server 2005 中显示 UNION 语句的每一列

转载 作者:行者123 更新时间:2023-12-02 07:42:59 25 4
gpt4 key购买 nike

我有这些简单的 SQL 语句:

SELECT     COUNT(ID) AS Expr1
FROM Table1
UNION
SELECT COUNT(ID) AS Expr2
FROM Table1 AS Table1_1
WHERE (UPDATED > CREATED)
UNION
SELECT COUNT(DISTINCT DATEPART(year, UPDATED)) AS Expr3
FROM Table1 AS Table1_2

我想将结果显示为:

Expr1     Expr2    Expr3
----- ----- -----
5 3 2

怎么做?我知道 UNION 比在 WHERE 子句中使用 OR 更可靠也更快。

最佳答案

您不能使用 UNION 执行此操作 - 这将为您提供行的并集 - 而不是列。

根据您的要求,尝试这样的事情:

SELECT 
Expr1 = (SELECT COUNT(ID) FROM Table1),
Expr2 = (SELECT COUNT(ID) FROM Table1 WHERE UPDATED > CREATED),
Expr3 = (SELECT COUNT(DISTINCT DATEPART(year, UPDATED)) FROM Table1)

这将为您提供一行三列,其中包含您要查找的值。

关于sql - 在 SQL Server 2005 中显示 UNION 语句的每一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9224155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com