Показать сообщение отдельно
  #2  
Старый 15.12.2011, 21:01
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

LEFT JOIN поможет. В случае отсутствия записи он просто подставить в соотв. поля NULL.

Если мы "танцуем" от "встречи", то должно быть как-то так:
Код:
select
  v.*, s.*, f.*, m.*, o.*
from
  visit v left join student s on v.student_id = s.id
           left join father f on s.father_id = f.id
           left join mother m on s.mother_id = m.id
           left join other o on s.other_id = o.id
order by 
  v.id

Кстати, отношение student <-> other скорее всего долджно быть многие-ко-многим, а родителей можно "упаковать" в одну таблицу, собственно, как и other'ов туда же. Так что дизайн БД у тебя явно неправильный
Ответить с цитированием