なぜ私はこのようなことをすることができません:
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」をバインドできませんでした。
なぜ私はこのようなことをすることができません:
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()