在SQL Server 2005中的两个值之间产生差异时,无法绑定多部分标识符

Sna*_*yes 3 sql sql-server sql-server-2005

我有这个简单的SQL语句:

select Expr1.value - Expr2.value FROM
(SELECT
Expr1 = (SELECT COUNT(ID) FROM Table1),
Expr2 = (SELECT COUNT(ID_) FROM Table1 WHERE (UPDATED > CREATED))
)
Run Code Online (Sandbox Code Playgroud)

它抛出了我的错误:

无法绑定多部分标识符'Expr1.value'无法绑定多部分标识符'Expr2.value'

我的错误在哪里?

我在Stackoverflow中读过,但很多主题仅涉及INNER JOIN语句.我正在寻找Expr1和之间的区别Expr2.(并显示结果)

Mic*_*aga 6

尝试:

select Expr1 - Expr2 FROM
(
    SELECT
    Expr1 = (SELECT COUNT(ID) FROM Table1),
    Expr2 = (SELECT COUNT(ID_) FROM Table1 WHERE (UPDATED > CREATED))
) as t
Run Code Online (Sandbox Code Playgroud)

这个:

SELECT
    Expr1 = (SELECT COUNT(ID) FROM Table1),
    Expr2 = (SELECT COUNT(ID_) FROM Table1 WHERE (UPDATED > CREATED))
Run Code Online (Sandbox Code Playgroud)

返回结果集名为柱Expr1Expr2和这种方式,您应该参考他们.无论如何,我更喜欢别as名列:

select Expr1 - Expr2 FROM
(
    SELECT
    (SELECT COUNT(ID) FROM Table1) as Expr1,
    (SELECT COUNT(ID_) FROM Table1 WHERE (UPDATED > CREATED)) Expr2
) as t
Run Code Online (Sandbox Code Playgroud)