这叫列转行直接UNION ALL应该就可以了吧SELECT ID,'A1' AS [项目],A1 AS [值]
UNION ALL
SELECT ID,'A2',A2
UNION ALL
SELECT ID,'A3',A3

解决方案 »

  1.   

    设原始表是bSELECT ID,'A1' AS [项目], A1 AS [值]
    FROM (SELECT ID, 'A1', A1 FROM b
    UNION ALL
    (SELECT ID,'A2',A2 FROM b)
    UNION ALL
    (SELECT ID,'A3',A3 FROM b)
    )
    ORDER BY ID结果项目列的都是'A1'  ,求解
      

  2.   

    SELECT * FROM
    (
    SELECT ID,'A1' AS [项目],A1 AS [值]
    UNION ALL
    SELECT ID,'A2',A2
    UNION ALL
    SELECT ID,'A3',A3
    )
    ORDER BY ID应该是这样
      

  3.   

    是只能写死,在MSSQL里面,就算用关键字也是写死
    不想写死,可以用动态执行,只是ACCESS应该会有点区别