gpt4 book ai didi

mysql - SELECT WHERE value > value2(从 postmeta 表中的另一行检索 value2)

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

我正在使用 WordPress,我想要
“posts”表中的 ID,其中 posts.ID = postmeta.post_id AND postmeta.distance > postmeta.radius
现在是 SQL 语句:

SELECT DISTINCT p.ID
FROM posts p
LEFT JOIN postmeta m ON p.ID = m.post_id
WHERE p.post_type = 'babysitter'
AND p.post_status = 'publish'
AND m.meta_key = 'distance'
AND ( m.meta_value > (SELECT meta_value
FROM postmeta
WHERE meta_key = 'radius' ))

除了避免嵌套 SELECT 的问题之外,我没有得到我想要的

最佳答案

嗯,你的解释看起来很奇怪..你说 postmeta.distance > postmeta.radius 但你从 hlp_postmeta 选择它,而且 M 别名似乎没有做任何事情。所以,我猜你这里有一些错别字,要么你想像你说的那样从 postmeta 得到它,然后我认为这就是你需要的:

SELECT DISTINCT p.ID
FROM posts p
LEFT JOIN postmeta m ON p.ID = m.post_id
LEFT JOIN postmeta m2 ON p.ID = m2.post_id
WHERE p.post_type = 'babysitter'
AND p.post_status = 'publish'
AND m2.meta_key = 'distance'
AND m.meta_key = 'radius'
AND m2.meta_value > m.meta_value

或者你并不像你说的那样,它来自hlp_postmeta,然后:

SELECT DISTINCT p.ID
FROM posts p
LEFT JOIN postmeta m ON p.ID = m.post_id
LEFT JOIN hlp_postmeta m2 ON p.ID = m2.post_id
WHERE p.post_type = 'babysitter'
AND p.post_status = 'publish'
AND m2.meta_key = 'distance'
AND m.meta_key = 'radius'
AND m2.meta_value > m.meta_value

当然,在这两种情况下我都可能是错的,如果是这样请告诉我,我会纠正它。

关于mysql - SELECT WHERE value > value2(从 postmeta 表中的另一行检索 value2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35774230/

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