之前一篇讲述了如何将结果集转成一列,下面介绍如何将一个结果集转为多列。
假设原数据表如图1所示,现在要将如图2显示的结果集转换为如图3所示的结果集。
图1 图2 图3
由图1得到图2的SQL语句为
select ProvinceName,CityName from CityTable
也许读者可能想到用上一篇文章说的思路来解决将如图2所示的结果集转换为如图3所示的结果集,我们这里不妨试下,执行以下SQL代码
select
case when ProvinceName='福建' then CityName else '' end as '福建',
case when ProvinceName='湖南' then CityName else '' end as '湖南',
case when ProvinceName='浙江' then CityName else '' end as '浙江'
from CityTable
结果显示为如图4所示
图4
然后我们再将每个Case返回的结果进行求最大数即求聚集函数