Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Здравствуйте, пожалуйста помогите составить сложный запрос.
У меня есть 3 таблицы (квартиры, дома, гаражи) с объявлениями и содержат похожие данные за исключением некоторых полей:
kvartiry
id
title
price
num_rooms
doma
id
title
price
s_uchastka
garazhi
id
title
price
num_cars
И еще есть общая таблица, содержащая идентификаторы всех объявлений и дату создания:
all_adds
id
created
Нужно выбрать из первых трех таблиц 5 самых свежих объявлений отображая поля id, title, price
Не пойму как связать первые 3 таблицы, если их id-шники не пересекаются. Буду очень благодарна за совет, как составить такой запрос. И если таких таблиц как первые будет не 3 а, больше 20?
Неактивен
Можно через Union попробовать.
Если больше 20 - долго будет выполняться.
Можно выполнить несколько запросов и объединять данные уже на клиенте.
Отредактированно WowaNik (27.05.2014 15:29:41)
Неактивен
Одним запросом:
Неактивен
Спасибо vasya, второй раз выручаете
Насколько быстро будет работать такой зспрос с union, если таблицы будут содержать порядки миллиона строк? Получается что все таблицы объединяются в 1 временную и из нее идет выборка?
Есть костыльно-ориентированный рабочий вариант такой (если добавить в последнюю таблицу поле table_name, содержащее имя таблицы где находится объявление с данным id):
Отредактированно Kiraja (27.05.2014 17:16:27)
Неактивен
Страниц: 1