0

次のような構造のテーブルがあります。

ID   , AMOUNT
'001', 17333935.00
'005', 1883045.00
'011', 29992400.00
'015', 17547235.00

次のようなリストを作成したいと思います。

| '001'       | '005'       | '011'       | '015' |

| 17333935.00 | 1883045.00  | 29992400.00 | 17547235.00 |

この Select ステートメントを使用しようとしましたが、機能しません。

SELECT col1.ROW_RPT,col1.IDUSER,col1.SUBTOT,col2.SUBTOT,col3.SUBTOT
 FROM
(SELECT 'OMSET' ROW_RPT,IDUSER,Sum(ORG_QTY*ORG_PRC) SUBTOT FROM sales WHERE IDUSER='001') col1 
INNER JOIN
(SELECT 'OMSET' ROW_RPT,IDUSER,Sum(ORG_QTY*ORG_PRC) SUBTOT FROM sales WHERE IDUSER='005') col2 ON col2.ROW_RPT=col1.ROW_RPT INNER JOIN
(SELECT 'OMSET' ROW_RPT,IDUSER,Sum(ORG_QTY*ORG_PRC) SUBTOT FROM sales WHERE IDUSER='011') col3 ON col3.ROW_RPT=col1.ROW_RPT INNER JOIN
(SELECT 'OMSET' ROW_RPT,IDUSER,Sum(ORG_QTY*ORG_PRC) SUBTOT FROM sales WHERE IDUSER='015') col4 ON col3.ROW_RPT=col1.ROW_RPT

上記のようなデータを抽出するにはどうすればよいですか?

4

1 に答える 1

1

このようなものを使用できます-

SELECT
  MAX(IF(id = '001', AMOUNT, NULL)) AS '001',
  MAX(IF(id = '005', AMOUNT, NULL)) AS '005',
  ..
FROM
  sales

しかし、たくさんある可能性があるので、それは良い考えではないと思いますid

于 2012-08-23T08:12:19.387 に答える