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

在将其加入wp_posts的同时,我如何将wp_postmeta表的所有值放在一行中?

常明亮
2023-03-14

我想像这样加入wp_posts和wp_postmeta表:

SELECT wp_posts.id, wp_posts.post_title, wp_posts.post_author, wp_postmeta.meta_key, wp_postmeta.meta_value
FROM wp_posts 
LEFT JOIN wp_postmeta ON wp_posts.id = wp_postmeta.post_id
WHERE post_type = 'job';

但是我需要wp_postmeta表中键值对的值在一行中;因此select语句看起来如下所示:

SELECT wp_posts.id, wp_posts.post_title, wp_posts.post_author, wp_postmeta.meta_key1, wp_postmeta.meta_key2, wp_postmeta.meta_key3, wp_postmeta.meta_key4

wp_postmeta表中的3行显示方式如下:

**POST_ID meta_key META_VALUE**23841 job_start 1488386107 23841 JOB_REQUIRECTIONS null 23841 JOB_EMPLECTION全职

如何修改by select语句,将meta_values放在每个post_id的select语句结果的一行中?感谢任何帮助。

共有2个答案

万俟飞语
2023-03-14

如果在wp_postmeta的字段上添加星号(),例如wp_postmeta。这意味着你将得到它的所有栏目。

SELECT wp_posts.id, wp_posts.post_title, wp_posts.post_author, wp_postmeta.*
FROM wp_posts 
LEFT JOIN wp_postmeta ON wp_posts.id = wp_postmeta.post_id
WHERE post_type = 'job';

试试看。

柳项明
2023-03-14

这就是我一直在寻找的解决方案。基于post_id,这允许我将wp_postmeta的meta_values与wp_posts的列值放在单行中:

SELECT  wp_posts.ID, wp_posts.post_title,  wp_posts.post_author, pm1.meta_value as job_start_date, pm2.meta_value as job_end_date 
FROM wp_posts 
LEFT JOIN wp_postmeta AS pm1 ON (wp_posts.ID = pm1.post_id AND pm1.meta_key='job_start')
LEFT JOIN wp_postmeta AS pm2 ON (wp_posts.ID = pm2.post_id  AND pm2.meta_key='job_end') 
WHERE wp_posts.post_type = 'job';

这里是我找到这个解决方案的地方:http://subharanjan.com/sql-query-to-get-poster and-its-meta_values-as-one-row-of-record-single-data-grid/

如果我没有把我的问题框定清楚,我很抱歉。

 类似资料:
  • 我有一个熊猫数据框,如下所示 我想找到每个日期介绍的,如果item_id介绍超过1个日期,那么我想找到每个日期的比例'(qty_bought/qty_purchased)。 我想要的输出如下 标志的条件是当比率大于以前的日期时,应将其设置为1或0 如果我在5个不同的日期引入了项目,那么这将动态生成5个日期和比率列。比率将具体到该日期。我只想列出那些引入了多次的。 这是我对python的尝试 这给了

  • 问题内容: 如何在PHP中将所有数组值加在一起?有这个功能吗? 问题答案: 如果数组由数字组成,则可以使用 array_sum 来计算总数。手册中的示例: 如果数组由字符串组成,则可以使用 implode : 它将变成这样的数组: 变成这样的字符串:

  • 问题内容: 我有问题来存储的所有值成。这里和是数组的数组。我想将它们的所有值分别存储在和中。的和是字符串的数组。 这是我的尝试,但仅存储每个数组的最后一项。 注意:我已经尝试过了,但是对我不起作用。 问题答案: 为了通用,首先让它成为对象列表 您想要放入对象列表 注意结果列表将包含每个对象,包含的是输入列表。 这种转换将丢失有关哪个对象位于哪个列表中的信息。 您必须遍历。在每个循环中,您都会获得一

  • 问题内容: 我有一个关于SQL-select-query的问题:该表包含几列,其中一列是一个名为“ size”的整数列- 我要执行的任务是查询表以获取所有总和行(它们的值),或更确切地说,在我的ResultSet中获得一个称为“ overallSize”的人工列,其中包含表中所有“大小”值的总和。最好使用WHERE子句仅添加某些值(“ WHERE bla = 5”或类似的值)。 数据库引擎是HSQ

  • 我想在我的应用程序中创建一个JTable。该表将包含两个库,第一个是软件模块的名称。第二列需要包含一个JComboBox,第一列中包含软件模块的修订号。 这甚至可能,或者我需要找到另一种方法来做到这一点?(例如:将按钮放在单元格中,然后从弹出窗口中选择修订版本) 提前谢谢你!

  • 批量订单 Purchorder 我已经试了一个星期了。我有这两个表,batchporder和purchord在batchporder表中,我需要插入一行,并获得传递给purchord插入的主id。在purchord中,我需要插入多行,因此我使用了insert\u batch。 控制器 模型 错误1 遇到PHP错误严重性:警告 消息:array_keys()要求参数1为数组,字符串为给定值 文件名: