gpt4 book ai didi

php - 在同一个查询中两次使用 INNER JOIN

转载 作者:行者123 更新时间:2023-12-03 19:35:47 25 4
gpt4 key购买 nike

我仍在尝试掌握 SQL 的窍门。我构建了 1 个查询,它从 filter_thread(包含 'filter_id' 和 'thread_id' 列)表和一个过滤器('filter_id 和 'tag')表中提取出 thread_id's

然后,我使用完全不同的查询来查找包含“thread_id”的线程表内容。

我意识到这不是最好的方法,但无法获得成功的查询。有人可以帮忙吗?

$query = "SELECT ft0.thread_id 
FROM filter f0
INNER JOIN filter_thread ft0 ON ft0.filter_id = f0.filter_id
WHERE f0.tag LIKE '%filter1%'
OR f0.tag LIKE '%filter2%'"
$result = $query->result_array();
$thread = array();
foreach ($result as $thread_id)
{
$id = $thread_id['thread_id'];
$query = $this->db->query("SELECT * FROM thread WHERE thread_id='$id'");
$thisRow = $query->result_array();
array_push($thread, $thisRow[0] );
}

谢谢!

最佳答案

您可以在单个查询中完成,如下所示:

SELECT t.*
FROM filter AS f0
INNER JOIN filter_thread AS ft0
ON ft0.filter_id = f0.filter_id
INNER JOIN thread AS t
ON ft0.thread_id = t.thread_id
WHERE f0.tag LIKE '%filter1%'
OR f0.tag LIKE '%filter2%

关于php - 在同一个查询中两次使用 INNER JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10033020/

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