1

3列のテーブルがあります:

COLUMN A: DATETIME
COLUMN B: DOUBLE
COLUMN C: INT

列 A は一意ではありませんが、同じDATETIME値を持つ行が多数ありますが、すべてのDATETIME列 C は一意です。

背景: 誰かが 5 つの異なる位置で温度を測定しました。これは次のようにデータベースに保存されます。

COLUMN A | COLUMN B | COLUMN C

12:00    |   23.4   |  4

12:00    |   24.4   |  5

12:00    |   25.4   |  6

12:01    |   26.4   |  4

12:01    |   27.4   |  5

12:01    |   28.4   |  6

これを(新しいテーブルまたはビューで)次のように変換したいと思います。

COLUMN AA | COLUMNC_VALUE-4 | COLUMNC_VALUE-5 | COLUMNC_VALUE 6

12:00     |    23.4         |       24.4      |      25.4

12:01     |    26.4         |       27.4      |      28.4

列 C の値は別の表にあります。

これは SQL で可能ですか、それともコードを書く必要がありますか?

4

2 に答える 2

2

これは、ピボット テーブルという一般的な問題です。私の意見では、SQL ではなくアプリケーションで行うべきです。これは、DBMS でそのように動作することが信頼できないためです。100 の異なる値があると想像してくださいcolumnC。または、columnC1 つの日時ごとに異なる値の数。

それでも MySQL でそれを行いたい場合は、この問題に対する適切な回答を次に示します。

于 2013-09-27T13:33:19.727 に答える