大家好,我正在尝试将记录列表放入一个表中,以用于我为网站所做的搜索功能
这3张表一张是页面信息,一张是项目,一张是最新消息。
但是我在查询中遇到错误,我看不出有什么问题。
SELECT 'section' AS colTYPE, title_sec AS title,
CONCAT_WS(' ',contentcol1_sec, contentcol2_sec, contentcol3_sec) AS content,
active_sec AS active
FROM sections_sec
WHERE content LIKE 'fff' OR title LIKE 'fff' AND active = 1)
UNION(SELECT 'latest' AS colTYPE, title_lat AS title,
content_lat AS content, active_lat AS active
FROM latest_lat
WHERE content LIKE 'fff' OR title LIKE 'fff' AND active = 1)
UNION(SELECT 'project' AS colTYPE, title_prj AS title,
content_prj AS content, active_prj AS active
FROM projects_prj
WHERE content LIKE 'fff' OR title LIKE 'fff' AND active = 1)
我收到的错误是:
You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near ')
UNION(SELECT 'latest' AS colTYPE, title_lat AS title,
content_lat AS conten' at line 3
最佳答案
您的第一个语句没有左括号。对于 UNION
您还确定不想使用 UNION ALL
吗?
SELECT 'section'
AS colTYPE,
title_sec
AS title,
Concat_ws(' ', contentcol1_sec, contentcol2_sec, contentcol3_sec)
AS content,
active_sec
AS active
FROM sections_sec
WHERE content LIKE 'fff'
OR title LIKE 'fff'
AND active = 1
UNION ALL
SELECT 'latest' AS colTYPE,
title_lat AS title,
content_lat AS content,
active_lat AS active
FROM latest_lat
WHERE content LIKE 'fff'
OR title LIKE 'fff'
AND active = 1
UNION ALL
SELECT 'project' AS colTYPE,
title_prj AS title,
content_prj AS content,
active_prj AS active
FROM projects_prj
WHERE content LIKE 'fff'
OR title LIKE 'fff'
AND active = 1
关于使用 concat 和 union 的 MySQL 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13808226/