我想加入wp_posts和wp_postmeta表是這樣的:將它加入wp_posts時,如何將wp_postmeta表的所有值放在一行中?
SELECT wp_posts.id, wp_posts.post_title, wp_posts.post_author, wp_postmeta.meta_key, wp_postmeta.meta_value
FROM wp_posts
LEFT JOIN wp_postmeta ON wp_posts.id = wp_postmeta.post_id
WHERE post_type = 'job';
但我需要在wp_postmeta表中的鍵值對的值是一個行;使select語句看起來是這樣的:
SELECT wp_posts.id, wp_posts.post_title, wp_posts.post_author, wp_postmeta.meta_key1, wp_postmeta.meta_key2, wp_postmeta.meta_key3, wp_postmeta.meta_key4
這是第3行是如何出現在wp_postmeta表內:
** POST_ID meta_key meta_value ** 23841 job_start 1488386107 23841 job_requirements空 23841 job_employment全職
如何通過select語句修改meta_values在每個post_id的select語句的結果的一行中?任何幫助表示讚賞。
感謝您的回覆,這是一個有用的建議,但我的問題是wp_postmeta表中的值以meta_key和meta_value列中鍵值對的形式出現。有沒有辦法讓所有meta_values出現在與該值相關聯的meta_key的列名下的一行中? 這是他們出現在wp_postmeta表: 23841 job_start 1488386107個 23841 job_requirements空 23841 job_employment全職 我可以把所有的meta_values一行,同時加入? – vjks
我認爲你不能那樣做。除非您使用PHP創建腳本,以便您可以在數據庫中創建一個視圖,並以您希望顯示的方式顯示它。您可以查詢所有這些數據,但實際上無法僅使用MySQL將meta_key作爲列名。你可以用PHP實現 –