私は Wordpress を使用しており、ビューを作成して、リゾート データの確認と分析を少し簡単にしようとしています。リゾート データは、Wordpress の post_meta テーブルに保存され、「リゾート」と呼ばれるカスタム投稿タイプで参照されます。次のクエリでは、解析したい結果セットが得られます。
SELECT a.id, a.post_type, a.post_title, b.post_id, b.meta_key, b.meta_value
FROM alpinezone_postmeta b
INNER JOIN alpinezone_posts a ON a.id = b.post_id
WHERE a.post_type = "resorts"
この結果セットでやりたいことは、定義したセットの各一意の meta_key を列にし、各行を一意の b.post_id (または a.id) にすることです。これは、個々のリゾートのレコードに対応します。
したがって、最終的には次のようになります。
post_title | phone_num | state |
resort1 | 800-200-1111 | Vermont |
resort2 | 800-200-2222 | New Hampshire |
resort 3 | 800-200-2323 | Maine |
基本的に……私はMySQLが得意ではないので、これを処理する最善の方法を見つけようとしています。列に配置したいすべての meta_key のリストがあります。そのうちの 36 個は、さまざまな情報をキャプチャします。
編集:もう少し詳細。
現在の構造- どのテーブルからのものかを示します
*alpinezone_posts alpinezone_postmeta alpinezone_postmeta*
post_title meta_key meta_value
----------------------------------------------------------------
sugarloaf snow_phone 888-234-2222
sugarloaf vertical_feet 2300
sugarloaf site_url sugarloaf.com
wachusett snow_phone 888-111-2222
wachusett vertical_feet 1000
wachusett site_url wachusett.com
これら 2 つのテーブルは、テーブル alpinezone_postmeta の post_id とテーブル alpinezone_posts の id で結合されています。
テーブル alpinezone_posts の post_type = "resorts" である結果のみが必要です
新しいビューでの表示方法
post_title snow_phone vertical_feet site_url
-------------------------------------------------------
sugarloaf 888-234-2222 2300 sugarloaf.com
wachusett 888-111-2222 1000 wachusett.com