一尘不染

在where子句SQL中引用计算列

sql

这行代码是我的select语句的摘录。

frdFreedays - DateDiff(dd,conReceiptToStock,GetDate()) As FreeDaysRemaining

以下是我的where子句的摘录

and frdFreedays - DateDiff(dd,conReceiptToStock,GetDate()) <= @intFreeDays

我的问题是如何引用FreeDaysRemaining列,因此可以将其与@进行比较intFreeDays

我正在寻找这样的东西

Freedays <= @intFreeDays

阅读 156

收藏
2021-03-10

共1个答案

一尘不染

除了Aaron的答案,您还可以使用公用表表达式:

;with cte_FreeDaysRemaining as
    (
        select
            frdFreedays - DateDiff(dd,conReceiptToStock,GetDate()) As FreeDaysRemaining
            --, more columns
        from yourtable
    )
    select
        FreeDaysRemaining
        --, more columns
    from cte_FreeDaysRemaining
    where FreeDaysRemaining <= @intFreeDays
2021-03-10