<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

    專注于JavaWeb開發
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數據加載中……

    兩表聯合查詢行轉列問題

    /*字段表*/
    create table D_InsuranceField
    (
      IF_ID 
    int primary key identity(1,1),
      IF_Name 
    varchar(50),
      IF_ILID 
    int
    )

    insert into D_InsuranceField values('checkColumn',1)
    insert into D_InsuranceField values('isHasNextLayer',1)
    insert into D_InsuranceField values('layers',1)
    insert into D_InsuranceField values('inputConfig',1)
    insert into D_InsuranceField values('parentId',1)
    insert into D_InsuranceField values('carRegion',1)
    insert into D_InsuranceField values('carType',1)
    insert into D_InsuranceField values('carSeries',1)
    insert into D_InsuranceField values('carBrand',1)
    insert into D_InsuranceField values('carModel',1)
    insert into D_InsuranceField values('price',1)


    /*保險數據表*/
    create table D_InsuranceData
    (
      ID_ID 
    int primary key identity(1,1),
      D_IFID 
    int,
      D_Value 
    varchar(50),
      InsuranceCode 
    varchar(50)
    )

    truncate table D_InsuranceData
    insert into D_InsuranceData values(1,'*1','A001')
    insert into D_InsuranceData values(2,'1','A001')
    insert into D_InsuranceData values(3,'1','A001')
    insert into D_InsuranceData values(4,'xxxxxxxxxX','A001')
    insert into D_InsuranceData values(5,1,'A001')
    insert into D_InsuranceData values(6,'北京','A001')
    insert into D_InsuranceData values(7,'自用汽車','A001')
    insert into D_InsuranceData values(8,'奧迪','A001')
    insert into D_InsuranceData values(9,'奧迪A6','A001')
    insert into D_InsuranceData values(10,'奧迪A6L2.6','A001')
    insert into D_InsuranceData values(11,'550000','A001')


    insert into D_InsuranceData values(1,'*11','A002')
    insert into D_InsuranceData values(2,'11','A002')
    insert into D_InsuranceData values(3,'11','A002')
    insert into D_InsuranceData values(4,'xxxxxxxxx2X','A002')
    insert into D_InsuranceData values(5,2,'A002')
    insert into D_InsuranceData values(6,'北京2','A002')
    insert into D_InsuranceData values(7,'自用汽車2','A002')
    insert into D_InsuranceData values(8,'奧迪2','A002')
    insert into D_InsuranceData values(9,'奧迪A62','A002')
    insert into D_InsuranceData values(10,'奧迪A6L2.62','A002')
    insert into D_InsuranceData values(11,'5500002','A002')

    go
    declare @s nvarchar(4000),@s2 nvarchar(4000)
    set @s2=''
    select @s=isnull(@s+',','')+quotename(IF_ID),@s2=@s2+','+quotename(IF_Name)+'='+quotename(IF_ID)
    from D_InsuranceField
    exec('select     InsuranceCode'+@s2+'
    from 
        (select D_IFID,D_Value,InsuranceCode from D_InsuranceData) a 
    pivot (max(D_Value) for D_IFID in(
    '+@s+'))b')
    輸出結果:
    A001    *1    1    1       xxxxxxxxxX        1    北京    自用汽車    奧迪    奧迪A6    奧迪A6L2.6
    A002    
    *11    11    11    xxxxxxxxx2X    2    北京2    自用汽車2    奧迪2    奧迪A62    奧迪A6L2.62

    另一種方法:
    declare @sql varchar(8000)
    set @sql='select InsuranceCode'
    select @sql=@sql+',['+IF_Name+']=max(case D_IFID when '''+ltrim(IF_ID)+''' then D_Value else '''' end)' from  D_InsuranceField
    set @sql=@sql+' from D_InsuranceData group by InsuranceCode' 
    exec(@sql)



    posted on 2008-06-23 15:16 々上善若水々 閱讀(731) 評論(0)  編輯  收藏 所屬分類: 數據庫

    主站蜘蛛池模板: 免费视频中文字幕| 真实乱视频国产免费观看| 又黄又爽无遮挡免费视频| 亚洲人成网7777777国产| 精品无码一区二区三区亚洲桃色 | 美丽姑娘免费观看在线观看中文版| 亚洲一区免费在线观看| 国产在线观看免费视频播放器| 日本亚洲欧洲免费天堂午夜看片女人员| 在线电影你懂的亚洲| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 免费人成在线观看播放国产 | 亚洲精品福利视频| 国产精品成人亚洲| 久久午夜伦鲁片免费无码| 久久久久久亚洲精品成人| 久久久高清免费视频| 国产亚洲成av人片在线观看| 亚洲欧美日韩中文二区| 国产无遮挡裸体免费视频在线观看 | 真实乱视频国产免费观看 | 一级成人a毛片免费播放| 亚洲国产av一区二区三区| 国产成人亚洲合集青青草原精品| 9久久免费国产精品特黄| 精品国产免费观看| 乱爱性全过程免费视频| 亚洲A∨无码一区二区三区 | jizz在线免费观看| 又粗又大又硬又爽的免费视频| 曰韩无码AV片免费播放不卡| 亚洲成AV人片在WWW色猫咪| 久久国内免费视频| 一级毛片视频免费| 亚洲国产精品一区二区第一页免| 成人爽a毛片免费| 国产亚洲成归v人片在线观看| 国产精品亚洲一区二区三区在线观看 | 亚洲国产精品自在自线观看| 国产成人A在线观看视频免费| 亚洲成电影在线观看青青|