N行转多列 高分相求 已经学习过现有的行转列问题了
文本数据格式如下:
购买时间 : 2007-5-11 15:27:0
订单号 : tcl09807
购买数量 : 2
------ 1-----------
序号: 
FID: 0818500549
PIN: 46966847
--------------------------- 2-----------
序号: 
FID: 818500550
PIN: 04871316
---------------------您购买的是:
购买时间 : 2007-5-11 15:30:0
订单号 : tcl09808
购买数量 : 3
------ 1-----------
序号: 
FID: 0818500544
PIN: 524696684
--------------------------- 2-----------
序号: 
FID: 18500552
PIN: 66248713
--------------------------- 3-----------
序号: 
FID: 818500555
PIN: 66248713
---------------------
在一个SQL的表里表现为    FID  PIN           购买时间 所属订单号    本次购买数量
0818500549  46966847 2007-5-11 15:27:0  tcl09807        2  
818500550   04871316    2007-5-11 15:27:0 tcl09807        2
0818500544  524696684   2007-5-11 15:30:0 tcl09808        3
18500552    66248713 2007-5-11 15:30:0 tcl09808        3
818500555   66248713 2007-5-11 15:30:0 tcl09808        3
...............以上为数据格式.表中视需要可以添加辅助列.或是新建中间表

解决方案 »

  1.   

    --TRYcreate table orders(订单号 varchar(20) primary key,购买时间 smalldatetime,购买数量 int)
    create table details(订单号 varchar(20),fid varchar(20),pin varchar(20),[no] int)
    insert into orders
    select 'tcl09807','2007-5-11 15:27:00',2 union select 'tcl09808','2007-5-11 15:30:00',3
    insert into details
    select 'tcl09807','0818500549','46966847',1 union 
    select 'tcl09807','818500550','04871316',2 union 
    select 'tcl09808','0818500544','524696684',1 union 
    select 'tcl09808','18500552','66248713',2 union 
    select 'tcl09808','818500555','66248713',3 select FID,PIN,购买时间,所属订单号=A.订单号,本次购买数量=A.购买数量
    FROM ORDERS A,DETAILS B WHERE A.订单号=B.订单号DROP TABLE ORDERS,DETAILS
      

  2.   

    对。就要这种表示形式0818500549 46966847 2007-05-11 15:27:00 tcl09807 2
    818500550      04871316 2007-05-11 15:27:00 tcl09807 2
    0818500544 524696684 2007-05-11 15:30:00 tcl09808 3
    18500552      66248713 2007-05-11 15:30:00 tcl09808 3
    818500555   66248713 2007-05-11 15:30:00 tcl09808 3
      

  3.   


    --TRYcreate table orders(订单号 varchar(20) primary key,购买时间 smalldatetime,购买数量 int)
    create table details(订单号 varchar(20),fid varchar(20),pin varchar(20),[no] int)
    insert into orders
    select 'tcl09807','2007-5-11 15:27:00',2 union select 'tcl09808','2007-5-11 15:30:00',3
    insert into details
    select 'tcl09807','0818500549','46966847',1 union 
    select 'tcl09807','818500550','04871316',2 union 
    select 'tcl09808','0818500544','524696684',1 union 
    select 'tcl09808','18500552','66248713',2 union 
    select 'tcl09808','818500555','66248713',3 select FID,PIN,购买时间,所属订单号=A.订单号,本次购买数量=A.购买数量
    FROM ORDERS A,DETAILS B WHERE A.订单号=B.订单号DROP TABLE ORDERS,DETAILS
      

  4.   

    我的源数据只有一列啊
    购买时间 : 2007-5-11 15:27:0
    订单号 : tcl09807
    购买数量 : 2
    ------ 1-----------
    序号: 
    FID: 0818500549
    PIN: 46966847
    --------------------------- 2-----------
    序号: 
    FID: 818500550
    PIN: 04871316
    ---------------------您购买的是:
    购买时间 : 2007-5-11 15:30:0
    订单号 : tcl09808
    购买数量 : 3
    ------ 1-----------
    序号: 
    FID: 0818500544
    PIN: 524696684
    --------------------------- 2-----------
    序号: 
    FID: 18500552
    PIN: 66248713
    --------------------------- 3-----------
    序号: 
    FID: 818500555
    PIN: 66248713
      

  5.   

    我想得到这段代码的结果....再请高手相助!
    --TRYcreate table orders(订单号 varchar(20) primary key,购买时间 smalldatetime,购买数量 int)
    create table details(订单号 varchar(20),fid varchar(20),pin varchar(20),[no] int)
    insert into orders
    select 'tcl09807','2007-5-11 15:27:00',2 union select 'tcl09808','2007-5-11 15:30:00',3
    insert into details
    select 'tcl09807','0818500549','46966847',1 union 
    select 'tcl09807','818500550','04871316',2 union 
    select 'tcl09808','0818500544','524696684',1 union 
    select 'tcl09808','18500552','66248713',2 union 
    select 'tcl09808','818500555','66248713',3 select FID,PIN,购买时间,所属订单号=A.订单号,本次购买数量=A.购买数量
    FROM ORDERS A,DETAILS B WHERE A.订单号=B.订单号DROP TABLE ORDERS,DETAILS