やりたいことはわかっていますが、最善の方法を見つけるのに苦労しています。
私はいくつかのデータを返すクエリを持っています:
SELECT
[Description] As [Name], month([OccuredOn]) as [Month], year([OccuredOn]) AS [Year], COUNT([id]) AS Cnt
FROM MyTable
GROUP BY [Description], Year([OccuredOn]), Month([OccuredOn])
ORDER BY [Description],Year([OccuredOn]), month([OccuredOn])
問題は、結果の一部を 1 つにマージする必要があることです。
以下は私がやりたいことですが、string1 と string2 のレコードを string3 の単一のレコードにマージできるようにする必要があります。
SELECT
CASE [Description]
WHEN 'String1' THEN 'String3'
WHEN 'String2' THEN 'String3'
ELSE [Description]
END As [Name],
month([OccuredOn]) as [Month], year([OccuredOn]) AS [Year], COUNT([id]) AS Cnt
FROM MyTable
GROUP BY [Description], Year([OccuredOn]), Month([OccuredOn])
ORDER BY [Description],Year([OccuredOn]), month([OccuredOn])
上記がそれを行う方法ではないことはわかっていますが、string1またはstring2を含む説明がその日付の単一の一意の行として累積カウントで返される結果を返す方法を誰かが指摘できることを望んでいました.
上記の SQL は明らかに、string1 と string2 に対して 2 つの大量のデータを返します。
ありがとう