<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)  編輯  收藏 所屬分類: 數據庫

    主站蜘蛛池模板: 亚洲GV天堂无码男同在线观看| 亚洲人成日本在线观看| 黄网站色视频免费看无下截| 无人在线观看免费高清视频| 亚洲综合久久久久久中文字幕| 一区二区三区福利视频免费观看| 亚洲AV无码国产丝袜在线观看| 9久久免费国产精品特黄| 亚洲人成精品久久久久| 黄色网站软件app在线观看免费| 亚洲成色WWW久久网站| 国产在线一区二区综合免费视频| 久久亚洲国产中v天仙www| 国产福利免费视频| 久久亚洲国产精品一区二区| 国产精品网站在线观看免费传媒| 无码乱人伦一区二区亚洲| 国产成人精品免费视频动漫| 久久综合久久综合亚洲| 在线日韩av永久免费观看| 鲁啊鲁在线视频免费播放| 国产精品亚洲w码日韩中文| 水蜜桃视频在线观看免费播放高清| 亚洲AV本道一区二区三区四区| 69式互添免费视频| 18禁亚洲深夜福利人口| 亚洲日韩人妻第一页| 成全高清在线观看免费| 亚洲国产亚洲片在线观看播放| 毛片a级毛片免费播放下载| 高潮毛片无遮挡高清免费| 亚洲国产精品无码中文字| 国产成人免费网站| 免费福利在线观看| 亚洲视频在线一区| 免费无码黄动漫在线观看| 久久久久国色AV免费观看| 亚洲高清资源在线观看| 国产成人无码a区在线观看视频免费 | 国产美女无遮挡免费网站| 国产免费内射又粗又爽密桃视频 |