错误联合sql查询

时间:2017-02-09 11:48:42

标签: mysql sql

我收到此错误

 The used SELECT statements have a different number of columns

当我尝试执行此查询时

SELECT DISTINCT * FROM `items` WHERE `tags` LIKE '%winner%' ESCAPE '!' UNION SELECT DISTINCT * FROM `lists` WHERE `tags` LIKE '%winner%' ESCAPE '!'

THX

2 个答案:

答案 0 :(得分:3)

使用UNION或UNION ALL时,必须确保查询中的列数相同,例如:

SELECT Product_ID,Product
FROM Products
UNION
SELECT Product
FROM Orders

无效,因为两个查询不会返回相同数量的列。但是:

SELECT Product_ID,Product
FROM Products
UNION
SELECT Order_ID,Product
FROM Orders

可行,因为每个列中的列数相同。

我会摆脱' SELECT *'在您的查询中。

答案 1 :(得分:0)

请指定列名而不是" *"在sql。

精通: SELECT DISTINCT Col1,Col2,col3 FROM items WHERE tags LIKE'%获胜者%' 联盟 SELECT DISTINCT Col1,Col2,col3 FROM lists WHERE tags LIKE'%获胜者%'