gpt4 book ai didi

mysql - 将 Wordpress post_meta 表变成更易于使用的 View

转载 作者:行者123 更新时间:2023-11-29 04:10:41 25 4
gpt4 key购买 nike

我正在使用 Wordpress 并尝试创建一个 View ,以便更轻松地查看和分析我的度假村数据。度假村数据存储在 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

这两个表在表 alpinezone_postmeta 的 post_id 和表 alpinezone_posts 的 id 上连接。

只需要表 alpinezone_posts 中的 post_type = "resorts"的结果

我希望它在新 View 中看起来如何

post_title  snow_phone      vertical_feet   site_url
-------------------------------------------------------
sugarloaf 888-234-2222 2300 sugarloaf.com
wachusett 888-111-2222 1000 wachusett.com

最佳答案

您要使用的是带有“GROUP BY”的交叉制表表或数据透视表,如下例所示:http://en.wikibooks.org/wiki/MySQL/Pivot_table

但是对于字符串,您需要使用除 SUM() 之外的其他东西……例如 MAX(): http://forums.mysql.com/read.php?20,75357,75367#msg-75367

    SELECT p.post_title AS post_title,
MAX(IF(m.meta_key='phone_num',m.meta_value,0)) AS phone_num,
MAX(IF(m.meta_key='state',m.meta_value,0)) AS state
FROM alpinezone_postmeta m
INNER JOIN alpinezone_posts p ON m.post_id = p.id
WHERE p.post_type = 'resorts'
GROUP BY m.post_id`

关于mysql - 将 Wordpress post_meta 表变成更易于使用的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11654632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com