2

datepart を使用したクエリで問題が発生しました。次のクエリを使用して過去 3 週間のデータを返してきましたが、企業が月曜から日曜までのレポート週を使用しているのに対し、下のクエリはデフォルトで日曜から土曜に設定されていることが最近わかりました。私は試してみ"SET LANGUAGE BRITISH"まし"SET DATEFIRST 1"たが、これらの関数はクエリ結果を変更しないため、これらの関数をよく理解していてはなりません。私たちはSQL Server 2000で実行していることに言及する必要があります。解決策を知っている場合は、助けていただければ幸いです。

declare @name varchar(50);
set @name = 'A name here';

SELECT week, year, CallCount, GoodCalls, CAST(CAST(GoodCalls as float)/CAST(CallCount as float)as decimal (18,4)) as NCP_perc
FROM
(SELECT TOP 3 datepart(ww, a.date_c) as week
,datepart(year, a.date_c) as year
      ,SUM(CallCount_wo_Xfer) as CallCount
      ,ROUND(SUM(CAST((CallCount_wo_Xfer*NCP_wo_Xfer)as float)),0) as GoodCalls
      FROM db1 A
      inner join db2 B
      on a.Agent = b.Name collate database_default
      inner join db3 C
      on b.id = c.id collate database_default
      where c.manager = @name
      group by datepart(year, a.date_c), datepart(ww, a.date_c)) AS T
      order by year desc, week desc
4

2 に答える 2

3

月曜日は2日目なので頑張ってください

SET DATEFIRST 2
于 2011-07-19T13:49:55.223 に答える