| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > Запрос из трёх таблиц |
| Автор: dirol 11.2.2014, 16:55 | ||||||
| Добрый день. Помогите организовать запрос на выборку данных из трёх таблиц. Для простоты все данные в таблицах очень примерные: Таблица 1. Orders
Таблица 2. Region_in_Orders
Таблица 3. Regions
Суть: * В таблице Orders содержатся абстрактные Заказы покупателей. * Таблица Region_in_Orders является некой таблицей связки между таблицей Orders и справочником регионов (таблица Regions); * Каждый заказ может быть доставлен в несколько регионов, значит в таблице Region_in_Orders может содержаться несколько записей с одинаковым значением idorder, но с разными значениями idregion; * Но так как в таблице Region_in_Orders содержатся только идентификаторы регионов, наименование региона нужно получить из таблицы Regions. Допускается, что наименование нескольких регионов придёт в виде одной строки, где названия будут перечислены через запятую. Т.е. в итоге мы должны получить примерно следующие данные: Заказ № Orders.Idorder; Наименование: Orders.nameorder; Регионы: Regions.nameregion,Regions.nameregion и т.д. |
| Автор: dirol 11.2.2014, 18:46 | ||||||||
Результатом запроса должны стать строки таблицы orders, дополненные названием регионов. Orders.idorder+' '+Orders.nameorder+' '+regions.nameregion,regions.nameregion
Это как-то влияет на быстродействие? Или неудобно при разборе? Спасибо. |
| Автор: Akina 11.2.2014, 21:13 | ||||||
Между понятиями "результат" и "рассказ, каким он должен быть", есть маленькая разница. Добавлено через 1 минуту и 1 секунду
Это противоречит понятию "нормализация". |
| Автор: dirol 11.2.2014, 21:45 | ||||
Согласен. Извиняюсь.
|
| Автор: Akina 11.2.2014, 22:26 | ||
|