Вниз
Скачать: CL | DM;

Select - подскажите   Найти похожие ветки 

 
apl   (2006-03-22 10:35) [0]

Мастера, прошу помощи.
В бызе 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

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


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

Поправочка:
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


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

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


 
ЮЮ ©   (2006-03-22 11:10) [3]

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.085 c
3-1139579835
VadimSpb
2006-02-10 16:57
2006.04.09
Проверка соединения с сервером


15-1142606398
kozhanov
2006-03-17 17:39
2006.04.09
Как вывести Bitmap чтобы фон был прозрачным ?


2-1143473111
SamProf
2006-03-27 19:25
2006.04.09
Как можно перечислить все диски?


15-1142488998
Ega23
2006-03-16 09:03
2006.04.09
С Днём рождения! 16 марта


2-1142956108
Progger
2006-03-21 18:48
2006.04.09
localhost = 127.0.0.1 ?




   Наверх