我有两个表结果联合:
table1:
name
product
table2:
name
product
我能做到
select * from table1 where product LIKE 'p%' limit 3
还有:
select * from table2 where product LIKE 'p%' limit 3
但是当我结合时,结果是:
(select * from table1 where product LIKE 'p%' limit 3)
UNION ALL
(select * from table2 where product LIKE 'p%' limit 3)
我只获得第一个查询的结果。有什么问题?
答案 0 :(得分:1)
查询似乎没有错。另外UNION ALL
不会删除重复项,因此最好的猜测是您的第二个表没有WHERE
条件的数据。
答案 1 :(得分:1)
请注意,UNION中的每个SELECT语句必须具有相同的列数。列还必须具有类似的数据类型。此外,每个SELECT语句中的列必须具有相同的顺序。
“UNION运算符默认情况下仅选择不同的值。要允许重复值,请使用UNION ALL。” 它确实对我有用:
SELECT column_name FROM table_name1 UNION ALL SELECT column_name FROM table_name2 。 希望,它会帮助你。 :)