在我們的數據庫中,我們有一個用戶表和其他數據的鍵值表。我們一直試圖提出一個查詢來加入這兩個,將k-v表中的鍵作爲列標題,將值作爲字段。MYSQL子查詢行作爲主查詢中的列
我們作爲目前唯一的解決辦法是GROUP_CONCAT
鍵 - 值對每個用戶爲一列,然後分析它們的查詢輸出緩慢和壞後...
這裏是一般設置:
的user.db表:
------------------------------
| uid | firstname | lastname |
------------------------------
| 01 | john | doe |
| 02 | jane | doe |
------------------------------
-----------------------------
| uid | question | answer |
-----------------------------
| 01 | question1 | answer1 |
| 01 | question2 | answer2 |
| 02 | question1 | answer3 |
| 02 | question2 | answer4 |
-----------------------------
我們想查詢結果來獲得:
------------------------------------------------------
| uid | firstname | lastname | question1 | question2 |
------------------------------------------------------
| 01 | john | doe | answer1 | answer2 |
| 02 | jane | doe | answer3 | answer4 |
------------------------------------------------------
我希望有一個簡單的方法來做到這一點,但一直沒能找到任何東西。所有的幫助將不勝感激。
這些都很好,除非沒有單獨的查詢,我們不會知道任何「question1」,「question2」等標識符。有沒有什麼辦法可以將這個級別抽象出來? –
你不可能真的有一個具有動態列數的查詢......所以你需要首先找到所有可能的問題,然後構建一個像上面那樣的查詢......或者去oracle :-) –