Volodei
Новичок
Помогите с запросом.
Есть 4 таблицы:
`forms`
`id` int(10)
`id_in_type_table` int(10)
`type` enum('type1', 'type2', 'type3')
`type1`
`id` int(10)
`model` varchar(255)
`type2`
`id` int(10)
`model` varchar(255)
`type3`
`id` int(10)
`marka` varchar(255)
Необходимо сделать выборку всех строк из таблицы forms с привязкой строк из остальных таблиц в зависимости от forms.type. Поле id_in_type_table является ключем к таблицам type1, type2, type3 и связан с полем id соответствующих таблиц.
Т.е. если выбирать из каждой таблицы по отдельности, то получится так:
SELECT * FROM forms, type1 WHERE forms.id_in_type_table = type1.id AND type = 'type1';
SELECT * FROM forms, type2 WHERE forms.id_in_type_table = type2.id AND type = 'type2';
SELECT * FROM forms, type3 WHERE forms.id_in_type_table = type3.id AND type = 'type3';
Но необходимо выбрать все одним запросом и потом отсортировать по полю model. Как это сделать?
Или лучше в несколько запросов выбирать например в массив и там сортировать? ТОгда получается массив многомерный, подскажите как его отсортировать?
Есть 4 таблицы:
`forms`
`id` int(10)
`id_in_type_table` int(10)
`type` enum('type1', 'type2', 'type3')
`type1`
`id` int(10)
`model` varchar(255)
`type2`
`id` int(10)
`model` varchar(255)
`type3`
`id` int(10)
`marka` varchar(255)
Необходимо сделать выборку всех строк из таблицы forms с привязкой строк из остальных таблиц в зависимости от forms.type. Поле id_in_type_table является ключем к таблицам type1, type2, type3 и связан с полем id соответствующих таблиц.
Т.е. если выбирать из каждой таблицы по отдельности, то получится так:
SELECT * FROM forms, type1 WHERE forms.id_in_type_table = type1.id AND type = 'type1';
SELECT * FROM forms, type2 WHERE forms.id_in_type_table = type2.id AND type = 'type2';
SELECT * FROM forms, type3 WHERE forms.id_in_type_table = type3.id AND type = 'type3';
Но необходимо выбрать все одним запросом и потом отсортировать по полю model. Как это сделать?
Или лучше в несколько запросов выбирать например в массив и там сортировать? ТОгда получается массив многомерный, подскажите как его отсортировать?