2013-10-17 65 views
0

我確定我的問題具有誤導性,因此請允許我展示我的挑戰。我有保存動態數據建(用戶設置字段名,並允許特定數據的入口)將MySQL動態密鑰/對轉換爲單個記錄集

鍵的表| VALUE | PERSON


key1 | value1 | personA
key2 | value2 | personA
key3 | value3 | personA
key1 | value1 | personB
key2 | value2 | personB
key3 | value3 | personB


我需要將其改爲以下的查詢,以便我可以篩選這些記錄的搜索:查詢

PERSON

動態創建表| Key1 | Key2 | Key3


personA | value1 | value2 | value3
personB | value1 | value2 | value3


請給我一個mysql查詢來產生以下結果。注意,密鑰是由用戶動態創建的,因此可能導致更多/更少。

+0

這被稱爲_pivot_。 MySQL沒有這個能力。只有知道所有可能的關鍵值才能做到這一點。 – Barmar

+0

爲什麼你需要轉發數據以便過濾它? – Barmar

+0

使用3個查詢和幾行腳本而不是單個數據庫查詢可以輕鬆完成此操作。聽起來像功課或類似的挑戰。 –

回答

1

正如上面指出的那樣,我一直在尋找的是Pivot,它不被MySQL支持。因此,我將把單行記錄放入我的腳本中,並在將結果返回給用戶之前從它們中構建一個對象。似乎是最簡單的方法。