我有一個MySQL表:結合MySQL表的第1列與其他所有列(的cols A,B,C,d變得AB,AC,AD)
-----------------------------------------------------------
time | host | var1 | var2 ....
20110101 | hostA | 7 | 8 ....
20110102 | hostB | 2 | 3 ....
20110102 | hostA | 4 | 2 ....
20110103 | hostC | 9 | 9 ....
20110104 | hostC | 1 | 1 ....
20110104 | hostA | 10 | 2 ....
.... etc ......
-----------------------------------------------------------
,我想創建新表每個變量(VAR1,VAR2,VAR3等),看起來像(用於VAR1):
-----------------------------------------------------------
time | hostA-var1 | hostB-var1 | hostC-var1
20110101 | 7 | null | null ....
20110102 | 4 | 2 | null ....
20110103 | null | null | 9 ....
20110104 | 10 | null | 1 ....
.... etc ......
-----------------------------------------------------------
原始表是相當大,因此性能是一個問題。我對mysql不是很熟練,我認爲唯一的辦法就是提取每個主機唯一的表,然後按時加入。因此,(對於VAR1):
create tempTableA select time, var1 as hostA-var1 from mainTable where host=hostA
create tempTableB select time, var1 as hostB-var1 from mainTable where host=hostB
,然後做在所有使用時間變量的tempTables的加入。
我不知道你是如何從表1到表2這將有助於在1所有的值放在正確的地方(只有那些所示) 2顯示相關 – RichardTheKiwi 2011-04-05 00:42:49
上帝@理查德,對不起。我編輯它,以便值現在應該是準確的。 – garretriddle 2011-04-05 00:51:38
好多了!我預計,所以答案如下。 – RichardTheKiwi 2011-04-05 00:55:50