|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.02.2012, 22:55 | #1 |
Регистрация: 14.10.2011
Сообщений: 4
|
Запрос для вывода таблицы в DBGrid
Помогите пожалуйста доработать запрос, надо вывести таблицу в DBGrid.
Поля таблицы: Код спектакля Название спектакля Автор Жанр Тип спектакля Бюджет спектакля Режиссер постановщик Художник постановщик Дирижер постановщик Проблема с получением данных из трёх последних полей - постановщики, все три поля связанны с одним кодом из другой таблице - Код работника который находится в таблице Работники, и надо выводить не значение кода, а ФИО из таблицы Работники которое соответствует этому значению, подскажите как это можно реализовать в одном запросе ? Вот мой код на получения данных из остальных полей: Код:
|
14.02.2012, 11:11 | #2 |
Пользователь
Регистрация: 08.11.2011
Сообщений: 46
|
Т.е. в этих полях стоят коды работника? Тогда я бы писала что-то вроде
Код:
|
14.02.2012, 12:09 | #3 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Автор темы явно лукавит. Не вызывало же у него затруднений при объединении таблиц Автор, Жанр, Тип...
Хотя, если речь о проблеме с одной и той же таблицей для объединения из разных ее строк, то проблема решается алиасами (псевдонимами) таблицы Работники. Типа: Работники as Реж JOIN ... Реж.ФИО ... Работники Худ JOIN ... Худ.ФИО... и т.д. PS. 2 mansuetudo. Неявное объединение (по условиям в where) давно отжило свое. И дело здесь не в том., что это "неправильно", а в том, что все сервера СУБД (в т.ч. и микрософтовские) оптимизирует производительность запроса по явному объединению (через join). |
14.02.2012, 12:10 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Прицепите JOIN-ы к Спектакли согласно правил СУБД примерно так:
Код:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
14.02.2012, 12:11 | #5 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
Согласна с Прик, связь через where устарела и уже давно доказано что она не эффективна, все довольно хорошо всегда можно сделать через различные join
Единственное, что ограничивает полет мысли программиста-компилятор
|
14.02.2012, 12:39 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Интересно бы было посмотреть на источник такой информации
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
14.02.2012, 13:03 | #7 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
Аватар, встречала это во многих книгах, последние были по ораклу
Единственное, что ограничивает полет мысли программиста-компилятор
|
14.02.2012, 13:06 | #8 |
Пользователь
Регистрация: 08.11.2011
Сообщений: 46
|
Не знаю насчёт книг, работаю с ораклом, дельты для базы присылаются разработчиком, и пока ни в одном не встречала подобного.
|
14.02.2012, 13:17 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Будет свободное время поэксперементирую с планами запросов на MSSQL. Мучает сомнение, что это так.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
14.02.2012, 13:29 | #10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
я более чем уверен, что where и join'ы преобразовываются в один и тот же внутренний запрос... Буду признателен, если кто-то фактами подтвердит или опровергнет данный постулат. (неплохо бы и для разных СУБД) p.s. думаю, что будет уместным не продолжать обсуждение в данной теме, а создать новую тему для обсуждения данной проблемы. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема вывода гиперссылок в DBGrid!!!!!!! | trad | C/C++ Базы данных | 0 | 15.12.2010 21:40 |
запрос для вывода дерева. | bondik | SQL, базы данных | 1 | 06.12.2010 07:50 |
переполнение в процедуре вывода таблицы о сортировках | SvetOk | Помощь студентам | 1 | 25.11.2009 08:21 |
Ошибка при попытке вывода полей из таблицы в ORACLE | older | Общие вопросы Delphi | 2 | 04.06.2008 17:26 |
Какой компонент выбрать для вывода таблицы картинок ICO | Comer_Jus | Мультимедиа в Delphi | 3 | 21.05.2008 20:35 |