gpt4 book ai didi

mysql组合查询,逗号分隔列表中的id

转载 作者:可可西里 更新时间:2023-11-01 08:49:48 26 4
gpt4 key购买 nike

我对 mysql 不是很熟悉,所以不知道如何正确地对查询进行采样。我正在使用 wordpress 并说明我想选择的内容,请参见下图:

scetch of mysqlquery

我有一个特殊帖子的 ID。我想通过以下方式获取与其相关的所有其他帖子:

posts_meta 表中可以存在条目,其 post_id 匹配给定的 ID。这些条目之一 meta_key 具有特定值,而该条目的 meta_valuepost_id 的逗号分隔列表。我想为每个 ID 在逗号分隔列表中的帖子选择 *

我从以下几点开始:

SELECT *
FROM prefix_posts AS a
JOIN prefix_postmeta AS b ON ( a.ID = b.post_id )
WHERE … //??

但我不知道如何完成查询。如何选择id,依次选择帖子?我找到了处理 FIND_IN_SET 的 SO 答案,但我不想测试给定 ID 是否在集合中,我更需要子查询中的 »STR_SPLIT« 之类的东西。

最佳答案

I would like to Select * for each of Posts whose ID is in that comma separated list

为什么不使用 FIND_IN_SET 方法呢?它可以帮助你解决你的问题此查询返回所有在 meta_value 字段中具有 id 的帖子,这些帖子来自将您的“特殊帖子 ID”作为 post_id 的元行。

SELECT * FROM Post a, meta b
WHERE FIND_IN_SET(a.id, b.linked)>0 AND b.post_id= $id_post;

试穿 SQLFiddle ,它似乎工作。如果您想避免重复,请添加 GROUP BY 子句。

关于mysql组合查询,逗号分隔列表中的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893097/

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