2016-08-18 3 views
1

Так что это довольно распространенное знание для выбора строк из нескольких таблиц и сложить результаты друг на друг:Выберите ограниченные строки из нескольких таблиц

SELECT * FROM table1 
UNION 
SELECT * FROM table2 
UNION 
... 

Однако, если я хочу лишь ограниченное число строк из каждой таблице, то как мне ее написать?

SELECT * FROM table1 LIMIT 2 
UNION 
SELECT * FROM table2 LIMIT 2 
UNION 
... 

Очевидно, что это не работает.

Обратите внимание, что в моем случае у меня есть 51 стол, все с одинаковыми точными столбцами.

ответ

2

может работать таким образом

(SELECT * FROM table1 LIMIT 2 ) 
UNION 
(SELECT * FROM table2 LIMIT 2) 
UNION 
... 
+0

Это все? Просто положите скобки на них ?! Хахаха! Я провел, как последние пару часов, досаждая себе, чтобы найти решение! Благодаря! – Kartik

+1

Обертывание запроса с помощью() вы вынуждаете rdbms рассматривать результат, а не перфорировать только запрос .. сам .. в этом wya вы являетесь объединением resutl not the query .. – scaisEdge

+0

Спасибо. Я не знал такого разделения между запросом и результатами. Но, думая о том, как работает РСУБД, это имеет смысл. – Kartik

Смежные вопросы