gpt4 book ai didi

mysql - Wordpress 数据库上的多个 Meta_Key 选择

转载 作者:行者123 更新时间:2023-11-29 16:38:50 24 4
gpt4 key购买 nike

我开发了一个从 Wordpress 选择事件的查询。我使用 where 子句来选择 meta_key eventstartdatemeta_value 在今天之后的位置。

我现在遇到的问题是,我还想过滤来自 meta_key“_VenueCity”的第二个 meta_value

我尝试为 wp_postmeta 表添加别名,并在 meta_key 上执行 where 操作,但我认为我缺少一个连接。

这是无需额外代码即可工作的代码。任何人都可以建议我如何让它发挥作用吗?

SELECT

`wp_posts`.`ID` AS `EventID`,
`wp_posts`.`post_parent` AS `SeriesID`,
`wp_posts`.`post_title` AS `EventTitle`,
`wp_posts`.`post_content` AS `EventDescription`,
`wp_posts`.`post_excerpt` AS `EventSummary`,
`wp_posts`.`post_name` AS `EventSlug`,
min(`wp_postmeta`.`meta_value`) AS `EventStartDate`,
max(`tribe_event_end_date`.`meta_value`) AS `EventEndDate`,
`wp_posts`.`guid` AS `GUID`

FROM ((`wp_posts`
JOIN `wp_postmeta` ON
(
(`wp_posts`.`ID` = `wp_postmeta`.`post_id`)
))

LEFT JOIN `wp_postmeta` `tribe_event_end_date` ON
(
(
(`wp_posts`.`ID` = `tribe_event_end_date`.`post_id`) AND
(`tribe_event_end_date`.`meta_key` = '_EventEndDate')
)
))


WHERE
(
(`wp_postmeta`.`meta_key` = '_EventStartDate') AND
(`wp_posts`.`post_type` = 'tribe_events') AND
(`wp_posts`.`post_status` = 'publish') AND
(`tribe_event_end_date`.`meta_value` >= CURDATE())
)

GROUP BY
`wp_posts`.`ID`
ORDER BY
`EventStartDate`,
`wp_posts`.`post_date`;

最佳答案

我不会为您编写查询,但我会给出一个如何获取多个 postmeta 值的示例。获取正确值的能力在于 where 子句。您还应该考虑要使用什么联接。

SELECT
p.post_title,
pm1.meta_value,
pm2.meta_value

FROM wp_posts as p

INNER JOIN wp_postmeta as pm1
ON p.ID = pm1.post_id

INNER JOIN wp_postmeta as pm2
ON p.ID = pm2.post_id

WHERE
pm1.meta_key = '_my_postmeta_field1'
AND
pm2.meta_key <> '_not_this_field'

关于mysql - Wordpress 数据库上的多个 Meta_Key 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53448688/

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