gpt4 book ai didi

php - 在单个查询中合并到两个表以对数据进行排序

转载 作者:行者123 更新时间:2023-11-29 03:07:56 25 4
gpt4 key购买 nike

我有两个表 word_term_relationshipsword_posts

我正在做的是使用 while 循环从 word_term_relationships 表中获取某个记录,其中某个值为 true。

$query = "SELECT object_id 
FROM `word_term_relationships`
WHERE `term_taxonomy_id` = '54'";

然后我在循环中使用另一个查询来使用从上一个查询中检索到的数据,以便从另一个表 word_posts

中获取数据
$query2 = "SELECT post_title, post_date, post_date_gmt, guid 
FROM `word_posts`
WHERE `ID` = '$post_id'";

我可以做到并且效果很好。

唯一的问题是我需要按日期和时间对结果进行排序,我可以在没有 while 循环的情况下使用 ORDER BY 函数和word_posts 表。

但是,我尝试像这样(如下)在查询中链接表以便对数据进行排序。但显然这是不正确的——我只是无法在查询中查明哪里出了问题。

$query = "SELECT word_term_relationships.object_id 
FROM word_term_relationships
WHERE word_term_relationships.term_taxonomy_id = '54'
ORDER BY word_posts.post_date ASC";

我知道上面的查询遗漏了一些东西,我在想在 ORDER BY word_posts.post_date ASC 之后的第二个 where

最佳答案

一个简单的 INNER JOIN 将解决您的问题。试试这个,

SELECT a.post_title, 
a.post_date,
a.post_date_gmt,
a.guid
FROM word_posts a
INNER JOIN word_term_relationships b
ON a.ID = b.object_id
WHERE b.term_taxonomy_id= '54'
ORDER BY a.post_date ASC

关于php - 在单个查询中合并到两个表以对数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12623552/

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