gpt4 book ai didi

php - 关系表中的 SQL 搜索查询

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

我正在尝试进行 SQL 搜索查询以仅返回与我的搜索关键字匹配的订单。问题是,我还需要在每个评论正文中搜索每个订单,如果在该评论中找到结果,则应选择该评论的订单。这些表格以简化的方式看起来像这样:

ORDERS:

ID = 95
title = first order


COMMENT RELATIONS:
id = 1241
comment_id = 500
target_id = 95
type = order

COMMENTS:
id = 500
body = this is the first comment

因此,如果我搜索“第一条评论”,则应选择 ID 为 95 的订单。

我目前的尝试似乎选择的不仅仅是顺序,还有他们的评论和关系?这就是我当前的尝试。

$query = 'SELECT DISTINCT *
FROM orders as o
LEFT JOIN comment_relations as cr ON o.id = target_id
LEFT JOIN comments as c ON cr.comment_id = c.id
WHERE o.id LIKE :keyword OR o.title LIKE :keyword OR c.body LIKE :keyword';

最佳答案

不确定您使用的是哪个数据库,但在大多数数据库中,您可以使用表别名后跟 * 来仅选择一个表。

'SELECT DISTINCT o.*
FROM orders as o
LEFT OUTER JOIN comment_relations as cr ON o.id = target_id
LEFT OUTER JOIN comments as c ON cr.comment_id = c.id
WHERE o.id LIKE :keyword OR o.title LIKE :keyword OR c.body LIKE :keyword';

关于php - 关系表中的 SQL 搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51652958/

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