私は、放棄された "Joomgalaxy" Joomlaプラグインのエントリの古いデータベースを持っています。複数テーブルのMySQL JOINステートメント
は3つのテーブル、joomgalaxy_entries
、joomgalaxy_fields
、およびentries
テーブルからjoomgalaxy_entries_data
id
entries_data
テーブルでentry_id
と一致するが、実際のフィールド名が別のテーブルに保存され、fields
あります缶誰かが正しいSQLステートメントで私を助けてくださいあなたがで見ることができるような結果を得るために究極の目標?私のMySQLの知識は非常に基本的なもので、私の検索ではLEFT JOINを使う必要があるように思えますが、戻り値の列名としてfield_name
の値を使用する方法がわかりません
ありがとうございます!
joomgalaxy_entries
---------------------------------------
| id | title | longitude | latitude |
---------------------------------------
| 50 | John | -79.333333 | 43.669999 |
| 51 | Bob | -79.333333 | 43.669999 |
---------------------------------------
joomgalaxy_fields
これはそれをシンプルに保つためにちょうど2つの例を以下で、そこにちょうどこれらの2以上のもの、それは動的に処理することができなければならないであろうカラム名としてfield_name
を使用します。
--------------------------------
| id | field_type | field_name |
--------------------------------
| 1 | textbox | websiteurl |
| 2 | dropdown | occupation |
--------------------------------
joomgalaxy_entries_data
「技術的には」任意の重複したエントリ(fieldid
とentry_id
)があってはならない、上記の列名などからfield_name
を使用して影響を与えてはならないというのが私の理解からして、そこに終わるとどうなるでしょうか?
-------------------------------------
| fieldid | field_value | entry_id |
-------------------------------------
| 1 | google.com | 50 |
| 2 | unemployed | 50 |
| 1 | doctor.com | 51 |
| 2 | doctor | 51 |
-------------------------------------
究極の目標
最終的に結果のこのタイプを取得しようと、私は次のようになり、データをエクスポートするためのMySQL Workbenchでそのステートメントを使用することができます。
------------------------------------------------------------------
| id | title | longitude | latitude | websiteurl | occupation |
------------------------------------------------------------------
| 50 | John | -79.333333 | 43.669999 | google.com | unemployed |
| 51 | Bob | -79.333333 | 43.669999 | doctor.com | doctor |
------------------------------------------------------------------
編集: 2つのフィールド以外にも、websiteurl
とoccupation
の2つのフィールドがあります。例えば、理論上は、理論上はfield_name
から値を引き出すと列名に使用されます
重複して閉じるように投票してください。 http://stackoverflow.com/questions/1241178/mysql-rows-to-columnsを参照してください –