我需要查询十几个表并返回所有这些表的UNION ALL。所有这些表都具有相同的列名。此查询返回的行数最多为100.
`SELECT column1, column2 FROM table1 UNION ALL SELECT column1, column2 FROM table2 LIMIT 100;`
上述查询导致table2中的100行与table1中的所有行组合。如何实现这一目标?
答案 0 :(得分:5)
尝试:
SELECT column1, column2 FROM (
SELECT column1, column2
FROM table1
UNION ALL
SELECT column1, column2
FROM table2
) as resutl_table
LIMIT 100;
答案 1 :(得分:2)
您希望将限制应用于所有表,因此您可以围绕基本查询“换行”查询。然后,包装查询可以将行计数限制应用于作为单个结果集的所有表。
SELECT * FROM ( <your existing query> ) LIMIT 100;
如果需要,您也可以申请。
SELECT * FROM ( <your existing query> ) ORDER BY column1 LIMIT 100
答案 2 :(得分:1)
select * from (
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2 ) as t
LIMIT 100
答案 3 :(得分:1)
SELECT * FROM (
SELECT column1, column2
FROM table1
UNION ALL
SELECT column1, column2
FROM table2
) as result_set LIMIT 100