当前位置: 首页 > 知识库问答 >
问题:

SQL:获取列表并将输出中的所有项用于另一个查询

欧桐
2023-03-14

我使用多个SQL查询来完成一个表,但我认为也可以只使用一个查询就得到它。结构如下:

有表'WP_PostMeta';包括id、post_id、meta_key和meta_value作为列。在该表中,meta_key=x的行在meta_value部分中有用户ID值。我想用给定的meta_key和用户id值(在meta_value部分)获得post_id值,并用该post_id获得给定meta_key的某些meta_values。这里有一个例子。假设用户ID为9:

选择CONCAT(从“wp_postmeta”中选择“meta_value”,其中“meta_key”=y且“post_id”=(从“wp_postmeta”中选择“post_id”,其中“meta_key”=x且“meta_value”=9));(从“wp_postmeta”中选择“meta_value”,其中“meta_key”=z且“post_id”=(从“wp_postmeta”中选择“post_id”,其中“meta_key”=x且“meta_value”=9));(从“

通过该查询,我连接了给定元键的元值,这些元键属于与给定用户ID相关的post。(y,z,w)。问题是,对于给定的用户ID,我可以正确地得到我想要的东西,但是我想给出一个用户ID的列表,并得到它们相应的串联结果。我怎样才能做到呢?谢谢你的帮助。

共有1个答案

姬安志
2023-03-14

您似乎在描述这样的内容(使用MySQL语法):

select p.*, group_concat(pm.metavalue) as metavalues
from wp_posts p left join
     wp_postmeta pm
     on pm.post_id =  p.post_id
where p.user_id in ( . . . )
group by p.user_id;
 类似资料:
  • 问题内容: 我下面有显示反社会犯罪总数的代码,但我也希望从另一个称为be output的表中获取代码。我试图找到一种解决方法,但无法使其正常工作。有任何想法吗? 问题答案: 您要用来查找位置名称。该查询可能看起来像这样: 您需要为和输入正确的列名称。

  • 问题内容: 我有两个清单说 现在,我想找出List2中是否存在List1的所有元素。在这种情况下,就全部存在。我不能使用子集函数,因为我可以在列表中重复元素。我可以使用for循环来计算List1中每个项目的出现次数,并查看它是否小于或等于List2中的出现次数。有一个更好的方法吗? 谢谢。 问题答案: 当出现次数无关紧要时,您仍可以通过动态创建集合来使用子集功能: 如果需要检查每个元素在第二个列表

  • 问题内容: 我有一个简单的MySQL表,其中包含类别列表,级别由parent_id确定: 我正在尝试进行面包屑跟踪。因此,我有孩子的“身份证”,我想让所有可用的父母(重复链,直到我们达到0“家”)。可能有任意数量或子行达到无限深度。 目前,我正在为每个父母使用SQL调用,这很麻烦。SQL中有一种方法可以对一个查询执行全部操作吗? 问题答案: 从这里改编: 该行是当前页面的页码。结果如下:

  • 问题内容: 我试图了解获取列表的内容并将其附加到另一个列表是否有意义。 我通过循环功能创建了第一个列表,该列表将从文件中获取特定行并将其保存在列表中。 然后使用第二个列表保存这些行,并在另一个文件上开始新的循环。 我的想法是在for循环完成后获取列表,将其转储到第二个列表中,然后开始一个新的周期,将第一个列表的内容再次转储到第二个列表中,但追加它,因此第二个列表将我循环中创建的所有较小列表文件的总

  • 我正在从远程数据库读取一组行,从本地数据库读取一组类似的行,然后使用RemoveAll删除本地已经存在的远程行。。。 但这对我来说似乎不对。当我真正需要做的只是检查是否存在匹配项时,我认为我不应该计算事物。我尝试了和的各种用法,但得到了废话。我不能使用(如这里建议的),因为列表元素不是同一类型。 有更好的方法吗?

  • 问题内容: 假设有两个表: 表A 表B 表之间的联系是 messageID 字段。 我想要一个查询来生成这样的结果,在该查询中,我将所有字段从表A中拉出,并对表B中每条消息的注释数进行计数,如下所示: 我已经尝试过这样的事情: 但这是行不通的。有任何想法吗?似乎应该可以在一个查询中执行此操作。我正在使用MSSQL。谢谢你的帮助。 问题答案: 标量子查询将起作用: 与往常一样,有很多方法可以改变这只