Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Select - подскажите [D7, MSSQL]


apl ©   (2006-03-22 10:35:00) 

Мастера, прошу помощи.
В бызе MSSQL есть три таблицы:
Tabl_a (* работники *) поля tab_N,fio
Tabl_b (* выполненные работы *) поля tab_N,kod_r
Tab_c (* виды работ *) поля kod_r,name_r
Необходимо построить список всех работников с названиями
всех выполненных работ. В список необходимо включить всех для кого есть записи о выполненных работах и тех, для кого записей нет. Необходимо получить список вида

Tabl_a.tab_N  tabl_a.fio  Tabl_b.kod_r  Tabl_c.name_r

Написал следующее:
Select * from tabl_a,tabl_b,Tabl_c where
tabl_a.tab_n=tabl_b.tab_n and tabl_b.kod_r-tabl_c.kod_r

При этом не включаются в список те, кто не имеет записей в tabl_b

Как правильно получить нужный результат?


ЮЮ   (2006-03-22 11:10:00) [1]

Похоже, в доках закопался :)

Select * from
 tabl_a,
 LEFT JOIN tabl_b ON tabl_a.tab_n=tabl_b.tab_n
 LEFT JOIN Tabl_c ON tabl_b.kod_r=tabl_c.kod_r


Johnmen   (2006-03-22 10:40:00) [2]

см. доки по SQL, соединение таблиц LEFT/RIGHT JOIN


apl   (2006-03-22 10:36:00) [3]

Поправочка:
Select * from tabl_a,tabl_b,Tabl_c where
tabl_a.tab_n=tabl_b.tab_n and tabl_b.kod_r=tabl_c.kod_r


Наверх

Титульная страница Поиск, карта сайта Написать письмо