0

なぜ私はこのようなことをすることができません:

    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」をバインドできませんでした。

4

4 に答える 4

2

ps.ID は wt.ID と一致し、ps はサブクエリでのみ言及されているため、次の理由はありません。

select distinct wt.ID from vwList wt

?

于 2012-08-15T20:54:28.493 に答える
1

問題は外側の選択にあります。これを試して:

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)   
于 2012-08-15T20:55:22.923 に答える
0

PS は where 句の内部選択にあります。pseres から列を選択する場合は、それを from 句または結合として指定する必要があります。

于 2012-08-15T20:55:42.077 に答える
0

これはうまくいくはずです:

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()  
于 2012-08-15T20:59:50.413 に答える