Sql 是否可以通过编程在报表中创建列别名

Sql 是否可以通过编程在报表中创建列别名,sql,oracle,Sql,Oracle,我想在这里回答第15个问题 这个问题,确定三个最重要的城市。显示顶级产品类别对城市的细分。有点措词不当,但我认为它是指一份报告,显示了总订单价值最高的3个城市,细分为母产品类别和总订单 我的结论如下: select * from ( select * from ( select city, sum(accessories) as accessories, sum(bikes) as bikes, sum(clothing) as clothing, sum(components) as com

我想在这里回答第15个问题

这个问题,确定三个最重要的城市。显示顶级产品类别对城市的细分。有点措词不当,但我认为它是指一份报告,显示了总订单价值最高的3个城市,细分为母产品类别和总订单

我的结论如下:

select * from
(
select * from 
(
select city, sum(accessories) as accessories, sum(bikes) as bikes, sum(clothing) as clothing, sum(components) as components, sum(total) as total from
(
select address.city, decode(ppcat.name, 'Accessories', sod.unitprice*sod.orderqty) as accessories, decode(ppcat.name, 'Bikes', sod.unitprice*sod.orderqty) as bikes, decode(ppcat.name, 'Clothing', sod.unitprice*sod.orderqty) as clothing, decode(ppcat.name, 'Components', sod.unitprice*sod.orderqty) as components, sod.unitprice*sod.orderqty as total from salesorderheader soh
inner join address on (soh.shiptoaddressid = address.addressid or soh.shiptoaddressid = address.addressid)
inner join salesorderdetail sod on soh.salesorderid = sod.salesorderid
inner join productaw paw on sod.productid = paw.productid
inner join productcategory pcat on paw.productcategoryid = pcat.productcategoryid
inner join productcategory ppcat on pcat.parentproductcategoryid = ppcat.productcategoryid
)
group by city
)
order by total desc
) where rownum <= 3
问题是,在添加其他父产品类别的假想场景中,我的报告需要手动更新。。。我不知道是否有可能,用一种不同的方法,用父产品类别自动填充列标题


我不希望行中有重复的城市,也不希望使用在SQLzoo上下文中不起作用的sql,即必须使用Oracle Developer或类似的工具。

在Oracle pivot查询上进行谷歌搜索可能会带来快乐。也许可以将城市作为列,并对行进行分类?这样,你的列是固定不变的。谷歌搜索oracle pivot查询可能会带来快乐。也许让城市成为列,而让分类成为行?这样,列是常量。