感谢阅读我的问题.我是想把多个表的3列连接在一起,然后找到匹配LIKE请求的nameProduct列.所有表都有不同的列,看起来就像3列:name,id和rate.这是我的代码。
(
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
以至于 UNION
直接进行查询。你可以对每个子选择进行过滤查询,或者在SELECT中对UNION的结果进行包装。
SELECT *
FROM (
(
SELECT
nameProduct,
rate,
idProduct
FROM
tblaptoplist
)
UNION ...
) AS r
WHERE r.nameProduct LIKE 'Asus'