mysqlにテーブルがあり、それを呼び出しましょうfoo
。列の数には制限があります。
| 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 |
理想的には、次のような結果が得られるクエリが1つ必要です。
| 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でクエリを生成します)。