SELECT из 10 таблиц

phillip

Полезный
Регистрация
4 Сен 2007
Сообщения
411
Реакции
15
Помогите составить запрос!
10 таблиц. В каждой таблице разные поля, одинаковые названия только id и status. Надо выбрать все записи со всех таблиц, у которых status=ok

пробовал уже с джойнами, с юнион, чето все не то вылазит что надо :(
 
Примеры таблиц в студию :)
 
yabloki (id,size,status)
morkovi (id,address,status)
tomato (id,color,status)
potato (id,weight,status)

на выходе хочу получить таблицу со всеми овощами-фруктами, у которых статус=ок.
допустим

айди=4, морковка, address=leninsk, статус=ок
айди=4, картошка, weight=120, статус=ок
айди=12, помидорка, color=red, статус=ок

расписал так, а то если я таблицы целиком приведу, мы просто запутаемся, там много полей и самих таблиц 10 штук :)
 
yabloki (id,size,status)
morkovi (id,address,status)
tomato (id,color,status)
potato (id,weight,status)
на выходе хочу получить таблицу со всеми овощами-фруктами, у которых статус=ок.
допустим
айди=4, морковка, address=leninsk, статус=ок
айди=4, картошка, weight=120, статус=ок
айди=12, помидорка, color=red, статус=ок
расписал так, а то если я таблицы целиком приведу, мы просто запутаемся, там много полей и самих таблиц 10 штук :)
Код:
SELECT id,address,status,"morkovki" FROM morkovki WHERE satsus=1
UNION
SELECT id,color,status,"tomato" FROM tomato WHERE status=1
UNION
.......
Тут важно, чтобы количество столбцов совпадало во всех запросах. Столбец с данными типа "tomato" или "morkovki" я добавил, чтобы можно было как-то определить из какой таблицы выдались строки для дальнейшей обработки данных. Если это не нужно - опускайте.
 
спасибо. ну это получается ведь лучше в плане оптимизации, чем 10 отдельных запросов?
 
спасибо. ну это получается ведь лучше в плане оптимизации, чем 10 отдельных запросов?

я бы предположил что 10 разных запросов все таки быстрее отработают и по памяти экономнее будут
 
Какую СУБД используете? Почти во всех есть Предасталения. С пом. представления можно легко сделать любой запрос и он выдаст в sql.
 
как это одно и то же? :eek:
я думал чем больше запросов, тем хуже. думал что лучше делать один громоздкий чем много мелких

по поводу субд- mysql использую. А что за представления, не совсем представляю, счас погуглю
 
Представления это, что то вроде маленькой програмки, которая принимает на вход параметры и выдаёт нужный результат, короче для пользователя выглядит как один запрос, а для сервера может быть n-количество запросов.
Разницы нет, что 10 делать, что одним, потому что в этом одном будут содержаться все 10.
 
Назад
Сверху