Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2017, 14:24   #1
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию MSSQL. Несколько LEFT JOIN

Всем привет. Есть такой вопрос.

База данных MS ACCESS + ADO. Делфи 7. Не знаю, кто тему в ВЕБ перенес.

Запрос:
Код:
SELECT o.*, p.* FROM orders o LEFT JOIN price p ON p.id = o.price_id  WHERE o.mer_id = :midd
Работает без проблем. Теперь мне нужно добавить еще один LEFT JOIN

Код:
SELECT o.*, p.*, r.* FROM orders o LEFT JOIN price p ON p.id = o.price_id LEFT JOIN rasp r ON r.id = o.pasp_id WHERE o.mer_id = :midd
Ошибка. Пропущен оператор в price p ON p.id = o.price_id LEFT JOIN rasp r ON r.id = o.pasp_id. Оно и понятно, несколько JOIN'ов надо разделять скобками. Делаю так:

Код:
SELECT o.*, p.*, r.* FROM (orders o LEFT JOIN price p ON p.id = o.price_id) LEFT JOIN rasp r ON r.id = o.pasp_id WHERE o.mer_id = :midd
Ошибка. Теперь пишет, что отсутствует значение для одного или нескольких параметров. Хотя параметр midd в первом запросе работал отлично и был определен.

Что я делаю не так?
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru

Последний раз редактировалось grominfo; 01.04.2017 в 14:30.
grominfo вне форума Ответить с цитированием
Старый 01.04.2017, 15:15   #2
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Если убрать WHERE o.mer_id = :midd, то все равно выдает ошибку "отсутствует значение для одного или нескольких параметров". Получается, что ADO не понимает запрос с несколькими JOIN'ами. Как решить, подскажите?
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 01.04.2017, 15:34   #3
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Пипец! Была банальная опечатка в названии поля. Вопрос закрыт!
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 01.04.2017, 18:25   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Оно и понятно, несколько JOIN'ов надо разделять скобками
Это же не access. Для сиквела не обязательно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.04.2017, 21:58   #5
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Это же не access. Для сиквела не обязательно
ACCESS. Я же в самом начале написал. Это кто-то из модеров тему перенес
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 01.04.2017, 22:25   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А в заголовке MSSQL. А ниже не прочитал. Короче путаница )) Да, тогда надо

PS и перенесли правильно, SQL разный бывает, но все равно SQL))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 01.04.2017 в 22:32.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LEFT JOIN januarist SQL, базы данных 6 23.07.2015 12:15
LEFT JOIN kuba1981 SQL, базы данных 3 21.11.2013 08:00
left join kilogram SQL, базы данных 5 14.07.2012 05:13
запрос с left join KatrinSecret SQL, базы данных 2 18.01.2012 22:31
LEFT JOIN acidcool SQL, базы данных 12 20.08.2009 19:23