我在mysql中有一個表,我們將其稱爲foo
並且它的列數有限。將動態列添加到MySQL結果
| id | name | date |
--------------------------
| 1 | bar | 2012-05-08 |
| 2 | buba | 2012-05-09 |
我的用戶可以添加記錄表foo_field
(東西一樣,code
,description
,time
...)。
| id | name |
--------------------
| 1 | code |
| 2 | description |
| 3 | time |
在表foo_field_value
爲用戶自定義字段中的值存儲,就像這樣:
| id | foo_id | foo_field_id | value |
------------------------------------------
| 1 | 1 | 1 | b |
| 2 | 1 | 2 | Lalalala |
| 3 | 1 | 3 | 12:00 |
| 1 | 2 | 1 | c |
| 2 | 2 | 2 | We are go |
| 3 | 2 | 3 | 14:00 |
理想情況下,我會想一個查詢,這將使我喜歡
結果| id | name | date | code | description | time |
------------------------------------------------------
| 1 | bar | 2012-05-08 | b | Lalalala | 12:00 |
| 2 | buba | 2012-05-09 | c | We are go | 14:00 |
這甚至可能沒有在每個foo_field的foo_fields_value表上進行內部連接(通過首先執行另一個查詢來使用PHP生成查詢)。
對於每個foo記錄,是否可以有多個foo_field_value? –
是的,對碼= b,description = lalalal,time = 12:00是foo_fields_value中的3條記錄,全部與foo記錄ID 1相關。 – Bram