0

T-SQL に関する質問があります。SQL-Server 2012 を使用しています。

varcharカレンダーの週の列(1-52) があります。where 句では、現在の年の現在の暦週からさかのぼって過去6 週間だけを選択したいと考えています。また、「2011」、「2012」、「2013」の値を持つ year varchar 列もあります。

しかし今、where句の式を設定するのに苦労しています。

それとも、これを行うには、Having 句が必要ですか?

私はこのように試しました:

Having Calendarweek BETWEEN max(Calendarweek)-6 AND max(Calendarweek) AND Year=2013

しかし、それはすべての週に戻ります。

これで私を助けてくれることを願っています。ありがとうございました。

4

1 に答える 1

1

これを試して

where Year ='2013'
and CAST(Calendarweek AS INT) >= datepart(week,getdate())-6 
于 2013-03-07T09:47:19.507 に答える