gpt4 book ai didi

mysql - 如何根据单独行中另一个字段的值显示一行?

转载 作者:太空宇宙 更新时间:2023-11-03 12:35:55 28 4
gpt4 key购买 nike

在下表中,元键 logo_IDshow_logo 基于 post_id 字段相互关联。如何使用 only mysqlshow_logo1 的行获取 logo_ID 的值?

post_id  meta_key     meta_value
------- ----------- ----------
262 logo_ID 263
262 show_logo 0
260 logo_ID 261
260 show_logo 1
258 logo_ID 259
258 show_logo 1

如果它看起来很眼熟,那是因为它来自 WP postmeta 表。我正在使用 $wpdb 查询数据库,因此所有内容都必须在 mysql 中(任何地方都没有 WP 函数)。

最佳答案

您可以将 wp_postmeta 表连接到自身,在 WHERE 子句中指定您想要的值。

SELECT pm2.post_id, pm2.meta_key
FROM wp_postmeta pm1
JOIN wp_postmeta pm2
ON pm2.post_id = pm1.post_id AND pm2.meta_key = 'logo_ID'
WHERE pm1.meta_key = 'show_logo' AND pm1.meta_value = 1

如果您要处理大量数据,这会相当快,因为​​它将使用 wp_postmeta 表上的索引。如果您还想获取其他值作为条件,您可以JOIN wp_postmeta more,或者wp_posts 表以获取其他帖子字段。

SQL Fiddle

关于mysql - 如何根据单独行中另一个字段的值显示一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13226927/

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