MySQL UNION 和多个 table 一样。第1064章【=11=】

MySQL UNION and like multiple table . #1064 Mysql

感谢您阅读我的问题。 我试图将多个表的 3 列连接在一起,然后找到与 LIKE 请求匹配的 nameProduct 列。 所有表格都有不同的列,看起来就像 3 列:名称、ID 和比率。 这是我的代码:

(
    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'