1

次のことを行う必要があります。

    Select ProID from Pros ps where ps.ProId = '102-C01-1299'
    and  ConfirmDate > DATEADD(DAY, (select tt.DaysDue from tblTaskTimeline tt where Task   = 'TaskInfo') as days,ps.ProgStartDate) 

DATEADD 関数の場合、2 番目のパラメーターを動的に取得する必要があることに注意してください。tt.DaysDue は整数値を返すことに注意してください。

DATEADD には 3 つのパラメーターが必要であるというメッセージが表示されます。

4

2 に答える 2

1

最初にパラメータを作成しないのはなぜですか?

declare @days int
set @days = (select tt.DaysDue from tblTaskTimeline tt where Task   = 'TaskInfo')

Select ProID 
from Pros ps 
where ps.ProId = '102-C01-1299'
    and  ConfirmDate > DATEADD(DAY, @days, ps.ProgStartDate)

パラメータを使用できない場合は、次のようにする必要があります。

Select ProID 
from Pros ps 
where ps.ProId = '102-C01-1299'
    and  ConfirmDate > DATEADD(DAY, (select tt.DaysDue from tblTaskTimeline tt where Task = 'TaskInfo'), ps.ProgStartDate)
于 2012-08-02T17:04:48.083 に答える
0

「as days」を削除すると、機能するはずです。

于 2012-08-02T17:05:20.977 に答える