-1
Kann jemand mit der Abfrage helfen? Ich habe eine Tabelle hier:SQL-Gruppe von Summe Summe Abfrage
CREATE TABLE [dbo].[aas](
[id] [int] IDENTITY(1,1) NOT NULL,
[Status] [nchar](10) NULL,
[price] [int] NOT NULL
) ON [PRIMARY]
GO
insert into [dbo].[aas] ([Status], [price])
values ('a', 23)
insert into [dbo].[aas] ([Status], [price])
values ('a', 23)
insert into [dbo].[aas] ([Status], [price])
values ('a', 23)
insert into [dbo].[aas] ([Status], [price])
values ('b', 4)
insert into [dbo].[aas] ([Status], [price])
values ('b', 4)
insert into [dbo].[aas] ([Status], [price])
values ('b', 4)
insert into [dbo].[aas] ([Status], [price])
values ('b', 4)
insert into [dbo].[aas] ([Status], [price])
values ('c', 8)
insert into [dbo].[aas] ([Status], [price])
values ('c', 8)
insert into [dbo].[aas] ([Status], [price])
values ('c', 8)
insert into [dbo].[aas] ([Status], [price])
values ('c', 8)
insert into [dbo].[aas] ([Status], [price])
values ('c', 8)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
insert into [dbo].[aas] ([Status], [price])
values ('y', 2)
ich eine Ausgabe wie folgt erwarte:
TotalA TotalPriceA TotalB TotalPriceB TotalC TotalPriceC TotalY TotalPriceY
3 69 4 16 5 40 12 24
Aber diese Abfrage liefert redundante Daten:
select
COUNT(CASE WHEN [status] = 'a' THEN 1 ELSE 0 END) as [TotalA],
case when [status] = 'a' then
sum(price)
else 0
END as [TotalpriceA],
COUNT(CASE WHEN [status] = 'b' THEN 1 ELSE 0 END) as [TotalB],
case when [status] = 'b' then
sum(price)
else 0
END as [TotalpriceB],
COUNT(CASE WHEN [status] = 'c' THEN 1 ELSE 0 END) as [TotalC],
case when [status] = 'c' then
sum(price)
else 0
END as [TotalpriceC],
COUNT(CASE WHEN [status] = 'y' THEN 1 ELSE 0 END) as [TotalY],
case when [status] = 'y' then
sum(price)
else 0
END as [TotalpriceY]
from [dbo].[aas]
group by [status]
Irgendwelche Vorschläge?