0
私はその後、私は1つの列に名前を選択しようとしています。この選択数が
Table1
Name varchar
ID int
Table2
ID int
Run_Date datetime
のように見えるテーブルのカップル、そして2列に日付のカウントを持っています。 1列は先週からの名前ごとにすべての日付になり、2列目は今週からすべての名前になります。結果は私のテーブルが
を行うことによってName This_Week Last_week
Name1 3 1
Name2 1 1
Name3 1 0
私は値を個別に取得することができます
ようになり、この
Table1
Name1 1
Name2 2
Name3 3
Table2
1 2016-11-21 8:40:23.570
2 2016-11-21 8:50:23.570
1 2016-11-21 9:40:23.570
1 2016-11-21 10:40:23.570
1 2016-11-16 10:40:23.570
2 2016-11-16 10:40:23.570
3 2016-11-21 8:40:23.570
私の結果のように見えたのであれば、この
のようなもののようになります。
WHERE DATEPART(wk, Run_Date) = DATEPART(wk, GETDATE()) AND DATEPART(yy, Run_Date) = DATEPART(yy, GETDATE())
先週からすべてを取得するために、週の後に-1を追加するだけです。同じテーブルに並べて表示するにはどうすればいいですか?
私はCASE
COUNT(CASE WHEN DATEPART(wk, Run_DATE) = DATEPART(wk, GETDATE()) AND DATEPART(yy, Run_Date) = DATEPART(yy, GETDATE()) THEN 1 ELSE 0 END) AS This_Week
をやって試してみました。しかし、それだけですべての名前のデータベース内のすべての日付を数えるように見えます。
Sigh。私はそれを見たに違いありません。ありがとうマット – maltman
それは私が確信しているカップル自分自身を行って見逃しやすい問題はありません。それを修正するもう1つの方法は、それをSUM(...)に変更し、あなたが持っていた通りにcase文を残すことでした。あなたがDISTINCT ID、日付などを数えたいと思っている場合は、カウントはいいですがSUMの場合はそれを達成できません – Matt