gpt4 book ai didi

php - MySQL 查询获取 post_id 和特征图片 URL

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

WordPress 将帖子和帖子的特色图片视为两个单独的帖子,这似乎无法创建将帖子和帖子的图片 URL 放入同一行的 SELECT 查询,如下所示:

post_id  imageURL
100 [URL]

如何合并 MySQL 表中没有具有共同值的列的两行?一列中的值与另一列中的值关联。

meta_id   post_id    meta_key          meta_value  
100 250 _thumbnail_id 101
101 255 _wp_attached_file [URL]

...得到这样的结果

post_id  imageURL
100 [URL]

WordPress 似乎已经改变了它的数据库结构,因为这个问题在这个网站上得到了回答。

当“Group by”不可用时,我试图理解 MySQL 中从一行中获取值并将其显示在另一行中的原理。

在观看视频、反复试验、阅读此处的答案后的许多小时后,这个查询只让我解决了一半,但帖子 ID 或图像 URL 总是丢失。我无法合并两行以将帖子与其图片 URL 结合起来。

SELECT * FROM `wp_postmeta`
INNER JOIN wp_posts on wp_posts.id = wp_postmeta.post_id
WHERE wp_postmeta.meta_key = "_wp_attached_file"
ORDER BY `wp_postmeta`.`post_id` DESC

请帮忙。可能有一些简单的语法可以实现这一点,但我缺少它。查询通过 WP API 进入,因此使用原始 SQL 查询,而不是 WordPress 中可用的函数。

最佳答案

您正在尝试根据post_idmeta_value 的值获取数据,因此可以使用Self JOIN 来实现。

这是工作中的 MySQL 查询示例

SELECT p.id AS post_id, pm2.meta_value AS URL
FROM `wp_posts` AS p
INNER JOIN `wp_postmeta` AS pm1 ON p.id = pm1.post_id
INNER JOIN `wp_postmeta` AS pm2 ON pm1.meta_value = pm2.post_id
AND pm2.meta_key = '_wp_attached_file'
AND pm1.meta_key = '_thumbnail_id'
ORDER BY p.id DESC;

希望这对您有所帮助!

关于php - MySQL 查询获取 post_id 和特征图片 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47643744/

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