簡體   English   中英

sql server檢查是否大於select語句

[英]sql server check for greater than with select statement

我為什么不能做這樣的事情:

    select distinct ps.ID, from vwList wt
    where Flag = 1 
    and GETDATE()  < (select dbo.fn_Date(ps.date1,ps.UploadDate) from pseres ps where ps.ID = wt.ID)  

我得到不能綁定多部分標識符“ ps.ID”。

由於ps.ID與wt.ID匹配,並且ps僅在子查詢中提及,為什么不這樣做:

select distinct wt.ID from vwList wt

問題出在外部選擇。 嘗試這個:

select distinct wt.ID
from vwList wt
where Flag = 1 and
      GETDATE()  < (select dbo.fn_Date(ps.date1,ps.UploadDate) from pseres ps where ps.ID = wt.ID)   

PS在where子句的內部選擇中。 如果要從pseres中選擇列,則需要將其包含在from子句中或作為聯接。

這應該工作:

SELECT DISTINCT wt.ID
FROM vwList wt
    INNER JOIN (SELECT dbo.fn_Date(ps.date1,ps.UploadDate) AS MyDate FROM pseres) ps ON     wt.ID = ps.ID
WHERE Flag = 1 AND
      MyDate > GETDATE()  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM