相关疑难解决方法(0)

引用WHERE子句中的列别名

SELECT logcount, logUserID, maxlogtm
   , DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
WHERE daysdiff > 120
Run Code Online (Sandbox Code Playgroud)

我明白了

"无效的列名称daysdiff".

Maxlogtm是一个日期时间字段.这是让我疯狂的小东西.

sql t-sql sql-server sql-server-2005

155
推荐指数
7
解决办法
18万
查看次数

别名列的sql过滤结果

我们如何过滤别名?例如,在下面的查询中,对于别名 OLB,如果我们想说 WHERE OLB > 0

SELECT
loan.lnr
,loan.lamount - SUM (memrepay.mprinc) AS OLB
,lstatus

FROM
 loan
  LEFT OUTER JOIN memrepay
  ON loan.lnr = memrepay.lnr

WHERE
loan.tstart >= N'2013-07-07T14:00:00' 

GROUP BY loan.lnr, lamount, lstatus

Order By lnr
Run Code Online (Sandbox Code Playgroud)

sql sql-server

4
推荐指数
1
解决办法
1037
查看次数

"列名无效"(在where子句中使用别名)

我从我的SQL Server收到此错误消息:

列名称'价格'无效

在Microsoft SQL Server Management Studio中.

我的SQL语句:

SELECT
    CASE
       WHEN salePriceDate BETWEEN salePriceStartDate AND salePriceEndDate
          THEN salePrice
          ELSE 
             CASE
                WHEN salePriceDate2 BETWEEN salePriceStartDate2 AND salePriceEndDate2
                   THEN salePrice2
                   ELSE normalPrice
             END
    END AS price
FROM 
    prices
WHERE 
    price BETWEEN 1 AND 100
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

sql sql-server sql-server-2008

1
推荐指数
1
解决办法
264
查看次数