Sna*_*yes 2 sql sql-server sql-server-2005
我有这些简单的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
Run Code Online (Sandbox Code Playgroud)
我想将结果显示为:
Expr1 Expr2 Expr3
----- ----- -----
5 3 2
Run Code Online (Sandbox Code Playgroud)
怎么做 ?据我所知,这UNION
比使用OR
in WHERE
子句更可靠,更快.
你不能这样做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)
Run Code Online (Sandbox Code Playgroud)
这将为您提供一行包含三列,包含您正在寻找的值.
归档时间: |
|
查看次数: |
229 次 |
最近记录: |