gpt4 book ai didi

php - SQL 查询 3 个表,一个具有不同的列名

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

我有3张 table ;

项目、事件、客户。

我需要从搜索项匹配的所有 3 个表中返回结果。但是,我需要检查项目和事件表中的“名称”列,以及客户表中的“描述”列。注意这是一个现有的客户端数据库,我无权更改列名。

示例:用户搜索“数据”,我需要选择:

name as title FROM projects WHERE name LIKE %data%,

name as title FROM campaigns WHERE name LIKE %data%

description as title FROM clients WHERE description LIKE %data%

我正在努力组合查询。以下是我到目前为止所拥有的,它返回语法错误。我也在想我可能采取了错误的方法。

SELECT
p.name,
c.name,
cl.description AS title
FROM
projects,
campaigns,
clients
WHERE
p.name LIKE % DATA %
OR c.name LIKE % DATA %
OR cl.description LIKE % DATA %

最佳答案

你正在寻找union all:

SELECT name as title FROM projects WHERE name LIKE %data%,
UNION ALL
SELECT name as title FROM campaigns WHERE name LIKE %data%
UNION ALL
SELECT description as title FROM clients WHERE description LIKE %data%;

如果要删除重复项,请使用 UNION 而不是 UNION ALL

关于php - SQL 查询 3 个表,一个具有不同的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45350866/

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