MySQL联合和类似多个表#1064 Mysql
谢谢你阅读我的问题。 我试图将多个表的3列连接在一起,然后找到与LIKE请求匹配的nameProduct列。 所有表都有不同的列,看起来就像3列:name、id和rate。 这是我的代码:MySQL联合和类似多个表#1064 Mysql,mysql,sql,union,sql-like,Mysql,Sql,Union,Sql Like,谢谢你阅读我的问题。 我试图将多个表的3列连接在一起,然后找到与LIKE请求匹配的nameProduct列。 所有表都有不同的列,看起来就像3列:name、id和rate。 这是我的代码: ( SELECT nameProduct, rate, idProduct FROM tblaptoplist ) UNION ( SELECT nameProduct, rat
(
SELECT
nameProduct,
rate,
idProduct
FROM
tblaptoplist
)
UNION
(
SELECT
nameProduct,
rate,
idProduct
FROM
tbcpulist
)
UNION
(
SELECT
nameProduct,
rate,
idProduct
FROM
tbgraphicslist
)
UNION
(
SELECT
nameProduct,
rate,
idProduct
FROM
tbpccaselist
)
UNION
(
SELECT
nameProduct,
rate,
idProduct
FROM
tbradiatorslist
)
UNION
(
SELECT
nameProduct,
rate,
idProduct
FROM
tbramlist
)WHERE nameProduct LIKE 'Asus'
;
MySQL是一份报告:
#1064 - 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 'WHERE
nameProduct LIKE 'Asus' LIMIT 0, 25' at line 54
我做错了什么?请帮助我您不能直接将
WHERE
应用于联合的结果。您可以在SELECT中筛选每个子选择的查询或换行UNION的结果:
SELECT *
FROM (
(
SELECT
nameProduct,
rate,
idProduct
FROM
tblaptoplist
)
UNION ...
) AS r
WHERE r.nameProduct LIKE 'Asus'
您试图调试这个问题的原因是什么?重新考虑是否应该为单个概念(产品名称)使用多个表。谢谢。MySQL不再报告错误#1064。你能帮我再问一个问题吗?'为什么即使我确信有数据与请求匹配,也没有查询到数据'。