私はこの情報を持つテーブルの活動を持っているように異なる数を選択します。私は月 、それらを好きで出力することによって、動物によってタスクをカウントする1つのselect文
+----------------------+---------------------+
| Task varchar(20) | AddedDate datetime |
+----------------------+---------------------+
| Bought Donkey | 2016-04-25 18:16:44 |
| Fed Donkey | 2016-04-18 18:16:44 |
| Gave Donkey water | 2016-04-03 18:16:44 |
| Donkey race | 2016-03-30 18:16:44 |
| Donkey sleep | 2016-03-12 18:16:44 |
| Donkey did exercises | 2016-02-45 18:16:44 |
| Took Donkey to shop | 2016-01-05 18:16:44 |
| Bought Cat | 2015-12-19 18:16:44 |
| Fed Cat | 2015-12-14 18:16:44 |
| Fed Donkey | 2015-12-06 18:16:44 |
| | |
+----------------------+---------------------+
は、次のとおりです。
+--------------+---------+---------+---------+---------+---------+
| Animal | 2016-04 | 2016-03 | 2016-02 | 2016-01 | 2015-12 |
+--------------+---------+---------+---------+---------+---------+
| Donkey | 3 | 2 | 1 | 1 | 1 |
| Cat | 0 | 0 | 0 | 0 | 2 |
| | | | | | |
+--------------+---------+---------+---------+---------+---------+
私は多くの選択肢を結合することによってカウントを得ることができますが、それはほとんど効率的ではなく、上記のような使用可能なテーブルのような表示を作成しません。
私はそれが自動的に最後の5ヶ月間を狙い撃ちしたいと思いますので、
select count(*)
from Activity
where month(AddedDate) = month(getdate()) - 1
and year(AddedDate) = 2016
and Task like '%Donkey%'
さらにそれはSSRSのためである、しかし私は、select文は私のより良いを取得している前に、この点で類似した何かを行っています。
ご協力いただきありがとうございます。
これがSSRSレポートの場合は、SSRSで 'Matrix'を使用してください。これは、私のグループのエイリアシングのオプションがないために面倒です。 SQLでその集計を実行するよりもずっと簡単になり(さらに多くのdyniamc)なります。 –
タスクテキストを解析する以外の方法で動物が何であるか他の兆候はありますか? "Donkey kicked Cat"の仕事は何ですか? –
ハハ!! DonkeyとCatを私が必要とする表現を説明しやすいように作成しましたが、残念ながらユーザーが入力したテキストからキーワードを抽出する必要があります。あなたの提案をありがとう、私は行列を参照します – beehive