gpt4 book ai didi

php - 在 GROUP_CONCAT 返回意外结果后使用 WHERE 子句的 Wordpress MySQL 查询

转载 作者:行者123 更新时间:2023-11-30 23:05:05 25 4
gpt4 key购买 nike

            SELECT p.*,
GROUP_CONCAT(pm.meta_key ORDER BY pm.meta_key DESC SEPARATOR '||') as meta_keys,
GROUP_CONCAT(pm.meta_value ORDER BY pm.meta_key DESC SEPARATOR '||') as meta_values
FROM $wpdb->posts p
LEFT JOIN $wpdb->postmeta pm on pm.post_id = p.ID
WHERE p.post_type = 'item' and p.post_status = 'publish'
AND pm.meta_key = 'adtype'
AND pm.meta_value = '1'
GROUP BY p.ID
ORDER BY p.post_date_gmt DESC
LIMIT 0,10

我正在使用一个特殊的 WordPress 查询来获取帖子和 postmeta 数据,当我想在 postmeta 上添加一个额外的 WHERE 时遇到了问题。

这里我想限制 pm.meta_key adtype 等于 1 的结果。查询有效,但 var_dump() 显示它更改了组连接的 meta_keys 和 meta_values 的值。

在我的结果中,我不再将 meta_keys 和 meta_values 作为串联结果输出,而是将它们分别设置为“adtype”和“1”的 WHERE 值。

查询在没有附加 WHERE 子句的情况下工作,但我希望能够过滤结果。

最佳答案

这是正常的,当你添加 WHERE 子句时:

    AND pm.meta_key = 'adtype' 
AND pm.meta_value = '1'

您将结果限制为仅具有这些值的行,因此在您的 meta_keys 和 meta_values 中,您的值将不会与 WHERE 子句中指定的值不同。

关于php - 在 GROUP_CONCAT 返回意外结果后使用 WHERE 子句的 Wordpress MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22255700/

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