Toplama işlevini bir Pivot sorgusundan çıkarmak mümkün mü?Toplam işlev olmadan dönme
Bu soruna bir Sorunum var çünkü aynı doğum gününe sahip çalışanlar varsa, yalnızca birincisi görünür.
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
Bazı örnek veriler ekleyebilir misiniz? Ayrıca bir ipucu: Eğer (DATEPART (yyyy, Birthdate)/10) * 10) 'seçeneğini kullanırsanız,' case' ifadesinin tamamını kullanmazsınız ve yeni doğum günleri olduğunda 'CASE' 'e eklemeniz gerekmez. kapsamına gir. – HoneyBadger
Ne tür sonuçlar almayı bekliyorsunuz? –
@ user2210516 Y U ÖNEMLİ YA DA CEVAP ALABİLİRSİNİZ? –