KGBa
21.09.2009, 09:41:52
Witam,
jako, że jest to dla mnie zupełnie nowy obszar działania proszę o pomoc i wyjaśnienia:
+ Potrzebny jest mi raport z 3 tabel (excel)
+ Muszę ściągnąć złączone 3 tabele (po róznych nazwach kolumn)
1) tab.pr
2) tab.rp
3) tab.for
+ łączenia po kolumnach:
(tab 1 z 2) pr.r_m = rp.sys
(tab 1 z 3) pr.for = for.sys
+ oprócz tego z tab 1 potrzebne są dodatkowo 3 kolumny (d, d_n, e), z tab 2 1 kolumna (name), z tab 3 2 kolumny (f_n, f_t)
Próba połączenia po join left on - nie powiodła się gdyż tym sposobem można połączyć tylko 2 tabele....
Z gory dziekuje za cenne info
askone
21.09.2009, 09:52:54
Hej
Sam napisałeś już odpowiedź

Wystarczą dwie klauzule left join, pierwsza łączy tabelę 1 z 2, druga łączy tabelę 1 z 3
SELECT
nazwy kolumn
FROM tabela1
LEFT JOIN tabela2 ON tabela2.sys = tabela1.r_m
LEFT JOIN tabela3 ON tabela3.sys = [tabela1.FOR]
KGBa
21.09.2009, 10:45:50
a jak podłączyć jeszcze dodakowe kolumny??
+ oprócz tego z tab 1 potrzebne są dodatkowo 3 kolumny (d, d_n, e), z tab 2 1 kolumna (name), z tab 3 2 kolumny (f_n, f_t)
askone
21.09.2009, 11:56:39
Tam gdzie ja napisałem "nazwy kolumn" wpisujesz odpowiednie kolumny poprzedzone przedrostkiem lub nazwą tabeli.
SELECT
tabela1.d,
tabela1.d_n,
tabela1.e,
tabela2.name,
tabela3.f_n,
tabel3.f_t
FROM tabela1
LEFT JOIN tabela2 ON tabela2.sys = tabela1.r_m
LEFT JOIN tabela3 ON tabela3.sys = [tabela1.FOR]
prachwal
23.09.2009, 18:45:28
skorzystaj z SQL SERVER MENAGMENT STUDIO - jest w zestawie nawet do wersji Express
tam masz Ctrl +Shif + Q edytor graficzny zapytań - całkiem przyzwoity