2

私が使用するコードは、where 句の日付に基づいて正しい情報を提供します。他の日程でも同じ情報が欲しいです。そのため、自分で日付を変更してコードを実行し、コピーして別の場所に貼り付けて、新しい日付でやり直す必要があります。1 年中毎日の情報が必要な場合、これには多くの作業が必要です。where句の日付を自動的に変更することは可能ですか?それを行うための最良または最も簡単な方法は何ですか?

Select t4.Count, t4.Status
From(
    SELECT count(l.VoerID) as Count, l.Datum, l.Status, l.LogID
      FROM (
             SELECT k.VoerID, k.Datum, MAX(k.LogID) AS LogID
               FROM DB.LogStatus k
                Where Datum < '2013-07-01'
              GROUP BY k.VoerID
           ) m
      JOIN DB.LogStatus l
        ON l.VoerID = m.VoerID AND l.LogID = m.LogID
    Where status in ('B','IN1','IN2''V','Reserv')
    Group by Status
)t4

編集:

元のテーブル (1 つの VoerID で選択) (テーブルは数千の VoerID で構成されています)

LogID Datum UserID Status Time VoerID

1299772 2013-04-17 259 N 14:09:11 50174

1319774 2013-05-23 68 B 11:19:17 50174

1320038 2013-05-23 197 IN1 16:53:30 50174

1322002 2013-05-28 68 IN2 09:22:32 50174

1325052 2013-05-31 161 G 09:00:59 50174

1325166 2013-05-31 10 400 09:15:12 50174

1325182 2013-05-31 10V 09:30:07 50174

1325208 2013-05-31 10V 09:45:06 50174

1325406 2013-05-31 10 予約 11:45:06 50174

1325522 2013-05-31 10 予約 12:15:06 50174

1325954 2013-05-31 10 予約 15:15:13 50174

1328474 2013-06-05 10 予約 13:15:06 50174

1329230 2013-06-06 10 予約 09:45:03 50174

1329244 2013-06-06 10 アーカイブ済み 10:00:08 50174

1329268 2013-06-06 10 アーカイブ済み 10:15:08 50174

1330286 2013-06-07 10 アーカイブ済み 10:15:06 50174

すべての最初の月の VoerID のステータスを確認したいと思います。2013-05-01 ステータス = N、2013-06-01 ステータス = 予約、2013-07-01 からはアーカイブ済みです。

上記は 1 つの VoerID の場合です。月初ごと、翌月初日までの最後のLOGIDごと、ステータスごとにVoerIDの数を数えたい

最後に、MSExcel でクロステーブルとチャートに編集したい情報を取得した場合:

2013 年 1 月 1 日 2013 年 1 月 2 日 2013 年 1 月 3 日 2013 年 1 月 4 日 2013 年 1 月 5 日

N 20 22 24 26 28

B 23 21,5 20 18,5 17

IN1 12 15 18 21 24

IN2 15 7 14 18 25

V 800 1000 1200 1400 1600

予約 50 63 76 89 102

アーカイブ済み 100000 101220 102440 103660 104880

4

1 に答える 1