房天下 > 房天下问答 > 业主生活 > 其他
  • SQL语句怎样使查询同一表同一列多条数据分列显示

    数据库表1为:编码 名称 项目序号 数额 1 企业1 1 52 1 企业1 2 37 1 企业1 3 98 2 企业2 1 654 2 企业2 2 57 2 企业2 3 987想要的查询结果显示为编码 名称 数额(项目序号1) 数额(项目序号3) 1 企业1 52 98 2 企业2 654 987 请问如何实现?我暂时是将该表连接两次,分别设置项目序号,也可以实现。即:select 编码,名称,A.数额,B.数额 from 表1 A,表1 B where A.项目序号=1 and B.项目序号=3但是这样运行会慢,语句复杂,而且以后项目序号不止两列,可能要多列,甚至十几二十多列,那就要连接多次。请问哪位有更好的方法?

    提问者:fxj0808

    发布于2011-01-21

共1个回答
  • 雄霸私服 丨Lv 1
    declare @sql varchar(8000)set @sql = 'select 编码,名称'select @sql = @sql+', max(case [项目序号] when '''+cast(项目序号 as varchar)+''' then 数额 else 0 end ) AS [项目序号'+cast(项目序号 as varchar)+']' from (select distinct 项目序号 from 表名) as aset @sql = @sql +' from 表名 group by 编码,名称'select @sqlexec (@sql)
    +1 2011-01-21 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。