Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 сложный запрос с left join  [new]
Sputnick
Member

Откуда: http://city-afisha.com
Сообщений: 689
всем привет! Сложный для меня, никогда join не использовал, в тут понадобилось. В инете все примеры с двумя таблицами, а у меня третью еще нужно подвязать, как это сделать хз. Подскажите плиз

вот этот работает:

SELECT *
FROM фио ф
LEFT JOIN машины м ON ф.id_водителя = м.водитель_ид
WHERE м.водитель_ид IS NULL 


то-есть классический случай, нужно найти водителей, у которых нет машин

в таком простом варианте все работает, но мне нужно получить по некому идентификатору значение с третьей таблицы, пробую так:


SELECT *
FROM фио ф, паспорт п
LEFT JOIN машины м ON ф.id_водителя = м.водитель_ид
WHERE м.водитель_ид IS NULL 
and п.ид_паспорта = ф.ид_пачпорта


вроде как так, но пишет ошибку - Не удалось привязать составной идентификатор "ф.id_водителя"
16 ноя 12, 13:43    [13483650]     Ответить | Цитировать Сообщить модератору
 Re: сложный запрос с left join  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
inner join
16 ноя 12, 13:43    [13483660]     Ответить | Цитировать Сообщить модератору
 Re: сложный запрос с left join  [new]
Sputnick
Member

Откуда: http://city-afisha.com
Сообщений: 689
Гавриленко Сергей Алексеевич
inner join


спасибо за ответ.
но пишет тоже самое
16 ноя 12, 13:47    [13483704]     Ответить | Цитировать Сообщить модератору
 Re: сложный запрос с left join  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
Sputnick
Гавриленко Сергей Алексеевич
inner join


спасибо за ответ.
но пишет тоже самое
А запрос-то какой, и какое сообщение об ошибке?
16 ноя 12, 13:51    [13483756]     Ответить | Цитировать Сообщить модератору
 Re: сложный запрос с left join  [new]
Добрый Э - Эх
Guest
Sputnick,

покажи, как писал через INNER JOIN...
16 ноя 12, 13:51    [13483758]     Ответить | Цитировать Сообщить модератору
 Re: сложный запрос с left join  [new]
Добрый Э - Эх
Guest
Так писал:

SELECT *
  FROM фио ф
  LEFT JOIN машины м ON ф.id_водителя = м.водитель_ид
  join паспорт п
    on п.ид_паспорта = ф.ид_пачпорта
 WHERE м.водитель_ид IS NULL 
???
16 ноя 12, 13:55    [13483807]     Ответить | Цитировать Сообщить модератору
 Re: сложный запрос с left join  [new]
aleks2
Guest
Sputnick
всем привет! Сложный для меня,
вроде как так, но пишет ошибку - Не удалось привязать составной идентификатор "ф.id_водителя"


Иногда...

select *
from
  ( SELECT *  FROM фио ф LEFT JOIN машины м ON ф.id_водителя = м.водитель_ид WHERE м.водитель_ид IS NULL ) X
  inner join 
  паспорт п
  on п.ид_паспорта = X.ид_пачпорта
16 ноя 12, 13:59    [13483853]     Ответить | Цитировать Сообщить модератору
 Re: сложный запрос с left join  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Sputnick
SELECT *
FROM фио ф, паспорт п
LEFT JOIN машины м ON ф.id_водителя = м.водитель_ид
WHERE м.водитель_ид IS NULL 
and п.ид_паспорта = ф.ид_пачпорта
Забудьте про запятую во FROMе, пожалуйста.
SELECT *
FROM фио ф
JOIN паспорт п ON ф.ид_пачпорта=п.ид_паспорта
LEFT JOIN машины м ON ф.id_водителя = м.водитель_ид
WHERE м.водитель_ид IS NULL;
16 ноя 12, 14:09    [13483951]     Ответить | Цитировать Сообщить модератору
 Re: сложный запрос с left join  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
aleks2
Sputnick
всем привет! Сложный для меня,
вроде как так, но пишет ошибку - Не удалось привязать составной идентификатор "ф.id_водителя"


Иногда...

select *
from
  ( SELECT *  FROM фио ф LEFT JOIN машины м ON ф.id_водителя = м.водитель_ид WHERE м.водитель_ид IS NULL ) X
  inner join 
  паспорт п
  on п.ид_паспорта = X.ид_пачпорта
Точно так же это выполняется и без скобок (в JOINах они декоративные)
16 ноя 12, 14:11    [13483970]     Ответить | Цитировать Сообщить модератору
 Re: сложный запрос с left join  [new]
Sputnick
Member

Откуда: http://city-afisha.com
Сообщений: 689
ребят спасибо, канарез )
16 ноя 12, 14:55    [13484377]     Ответить | Цитировать Сообщить модератору
 Re: сложный запрос с left join  [new]
aleks2
Guest
iap
Точно так же это выполняется и без скобок (в JOINах они декоративные)


Я ф курсе. Но окромя этого есть ишо "читабельность". Не нада лениться.
16 ноя 12, 15:18    [13484564]     Ответить | Цитировать Сообщить модератору
 Re: сложный запрос с left join  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
aleks2
iap
Точно так же это выполняется и без скобок (в JOINах они декоративные)


Я ф курсе. Но окромя этого есть ишо "читабельность". Не нада лениться.
C этим невозможно спорить :-))
16 ноя 12, 15:23    [13484601]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить