ピボットクエリから集計関数を取り除くことは可能ですか?集計関数を使用しないピボット
私は同じ誕生日の従業員がいる場合、最初のものだけが表示されるので、このクエリで問題があります。
SELECT *
FROM (SELECT lastname +' '+ firstname as name, Birthdate,
CASE
WHEN DATEPART(yyyy,Birthdate) BETWEEN 1930 AND 1939 THEN 1930
WHEN DATEPART(yyyy,Birthdate) BETWEEN 1940 AND 1949 THEN 1940
WHEN DATEPART(yyyy,Birthdate) BETWEEN 1950 AND 1959 THEN 1950
WHEN DATEPART(yyyy,Birthdate) BETWEEN 1960 AND 1969 THEN 1960
WHEN DATEPART(yyyy,Birthdate) BETWEEN 1970 AND 1979 THEN 1970
WHEN DATEPART(yyyy,Birthdate) BETWEEN 1980 AND 1989 THEN 1980
WHEN DATEPART(yyyy,Birthdate) BETWEEN 1990 AND 1999 THEN 1990
WHEN DATEPART(yyyy,Birthdate) BETWEEN 2000 AND 2009 THEN 2000
ELSE DATEPART(yyyy,Birthdate) END as [BDate] FROM ADR_Address
) as s
PIVOT
(
MAX(name)
FOR [BDate] IN ([1930],[1940],[1950],[1960],[1970],[1980],[1990],[2000])
)AS pvt
WHERE Birthdate IS NOT NULL ORDER BY Birthdate
サンプルデータを追加できますか?また、ヒント: '(DATEPART(yyyy、Birthdate)/ 10)* 10) 'を使用すると' case'文全体が必要ないので、新しい誕生日に 'CASE'に追加する必要はありませんスコープに来る。 – HoneyBadger
あなたはどんな結果を期待していますか? –
@ user2210516あなたは回答を受け取りませんか? –