gpt4 book ai didi

php - 合并 2 个具有不同行数的查询

转载 作者:行者123 更新时间:2023-11-29 06:17:40 27 4
gpt4 key购买 nike

我有一个连接到 wordpress db 并返回一些 posts 的查询。

为了获取每个帖子的图像,我在php foreach 循环

中运行了另一个查询

问题是在 foreach 循环 中运行第二个查询非常慢,我需要另一种方法将这两个 queries 合并为一个。

第一次查询

SELECT pm. * , p.*
FROM wp_posts p
JOIN wp_postmeta pm ON pm.post_id = p.ID
WHERE pm.meta_key = 'accommodation_location_post_id'
AND pm.meta_value
IN (
SELECT pi.ID
FROM wp_posts pi
WHERE pi.post_title LIKE '%Cyprus%')

根据返回的帖子 ID,我需要这些 ID特色图片。

此查询完成此工作,但仅针对 1 个 id

第二个查询

SELECT wp_posts.guid 
FROM wp_posts
WHERE wp_posts.ID =
(Select wp_postmeta.meta_value
FROM wp_postmeta
WHERE wp_postmeta.meta_key =
'_thumbnail_id' AND wp_postmeta.post_id = 'The id of each post')

我需要一个查询来返回所有帖子及其图片。

最佳答案

我真的不明白你的数据结构,但试试这个查询

select
t1.*, t2.guid
from (
SELECT pm. * , p.*
FROM wp_posts p
JOIN wp_postmeta pm ON pm.post_id = p.ID
WHERE pm.meta_key = 'accommodation_location_post_id'
AND pm.meta_value IN (
SELECT pi.ID
FROM wp_posts pi
WHERE pi.post_title LIKE '%Cyprus%'
)
) t1
left join (
select
p2.guid, pm2.post_id
from
wp_posts p2
join wp_postmeta pm2 on
pm2.meta_value = p2.ID
and pm2.meta_key = '_thumbnail_id'
) t2 on t2.post_id = t1.ID

关于php - 合并 2 个具有不同行数的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34964233/

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