select yt4.列1数据, yt3.* from YourTable yt4, (select yt1.列2数据, yt2.* from YourTable yt1, (select 列3 from YourTable where ? = ?) yt2 where ? = ?) yt3 where ? = ?

解决方案 »

  1.   

    porit表
    -----------------------------------
    Year      Quarter      Amount
    ----      -------      ------
    1990      1           1.1
    1990      2           1.2
    1990      3           1.3
    1990      4           1.4
    1991      1           2.1
    1991      2           2.2
    1991      3           2.3
    1991      4           2.4
    -----------------------------------------
    Year     Q1      Q2     Q3     Q4
     
    1990    1.1     1.2    1.3     1.4
     
    1991    2.1     2.2    2.3     2.4
    ---------------------------------------- 
    CREATE TABLE Pivot
    ( Year      SMALLINT,
      Quarter   TINYINT, 
      Amount      DECIMAL(2,1) )
    GO
    INSERT INTO Pivot VALUES (1990, 1, 1.1)
    INSERT INTO Pivot VALUES (1990, 2, 1.2)
    INSERT INTO Pivot VALUES (1990, 3, 1.3)
    INSERT INTO Pivot VALUES (1990, 4, 1.4)
    INSERT INTO Pivot VALUES (1991, 1, 2.1)
    INSERT INTO Pivot VALUES (1991, 2, 2.2)
    INSERT INTO Pivot VALUES (1991, 3, 2.3)
    INSERT INTO Pivot VALUES (1991, 4, 2.4)
    GO下面是用于创建旋转结果的 SELECT 语句:SELECT Year, 
        SUM(CASE Quarter WHEN 1 THEN Amount ELSE 0 END) AS Q1,
        SUM(CASE Quarter WHEN 2 THEN Amount ELSE 0 END) AS Q2,
        SUM(CASE Quarter WHEN 3 THEN Amount ELSE 0 END) AS Q3,
        SUM(CASE Quarter WHEN 4 THEN Amount ELSE 0 END) AS Q4
    FROM Northwind.dbo.Pivot
    GROUP BY Year
    GO我的email是 [email protected]
      

  2.   

    可我问的是在DELPHI中的DBGRID中如何使数据实现纵向显示啊!列名1 数据  
    列名2 数据  
    列名3 数据  
    列名4 数据
      

  3.   

    用stringgrid是可以显示 但修改数据怎么办?
    还请高人指点!
      

  4.   

    如果你不对数据sum,那么你可以参照dancedog(猪熔鸡) 的方法,做些修改即可。
    如果你用stringgrid,那么修改后的保存要麻烦多了!
      

  5.   

    那请问谁知道有什么控件能达到数据纵向排列的功能吗?stringgrid可以显示 但修改麻烦!