[英]SQL Server select all rows into single column with repeating column names
我有這個代碼和它的臨時表,所以你可以運行它。
create table #hourly_sales(
id int identity(1,1),
tenant_code varchar(13),
hour_code int,
net_sale_per_hour decimal(18,2)
)
insert into #hourly_sales(tenant_code,hour_code,net_sale_per_hour)
values('1234567890000',1,200),('1234567890000',2,500),('1234567890000',3,400)
select * from #hourly_sales
drop table #hourly_sales
這會給你這個輸出
id tenant_code hour_code net_sale_per_hour
----------- ------------- ----------- -------------------
1 1234567890000 1 200.00
2 1234567890000 2 500.00
3 1234567890000 3 400.00
我希望他們都在一個列中選擇租戶代碼分組並匯總凈銷售額
我的目標:
id tenant_code hour_code net_sale_per_hour hour_code net_sale_per_hour
-----------------------------------------------------------------------
1 1234567890000 1 200.00 2 500
hour_code net_sale_per_hour total_net_sale
-----------------------------------------------------------------------
3 400
等等
我的嘗試:
declare @sum decimal(18,2);
set @sum = (select sum(net_sale_per_hour) from #hourly_sales);
select TOP 1
id,
tenant_code,
hour_code,
net_sale_per_hour,
@sum
from #hourly_sales
這就是我為你得到的一切,我需要你的幫助。
有時,如果您的列數有限,只有 24 個,那么將其拼寫出來會更容易。
select tenant_code,
sum(case when hour_code = 1 then net_sale_per_hour else null end) as '01',
sum(case when hour_code = 2 then net_sale_per_hour else null end) as '02',
sum(case when hour_code = 3 then net_sale_per_hour else null end) as '03'
from #hourly_sales
group by tenant_code
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.