Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MS SQL złączenie 3 tabel
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
KGBa
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
Hej

Sam napisałeś już odpowiedź winksmiley.jpg

Wystarczą dwie klauzule left join, pierwsza łączy tabelę 1 z 2, druga łączy tabelę 1 z 3

  1. SELECT
  2. nazwy kolumn
  3. FROM tabela1
  4. LEFT JOIN tabela2 ON tabela2.sys = tabela1.r_m
  5. LEFT JOIN tabela3 ON tabela3.sys = [tabela1.FOR]
KGBa
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
Tam gdzie ja napisałem "nazwy kolumn" wpisujesz odpowiednie kolumny poprzedzone przedrostkiem lub nazwą tabeli.

  1. SELECT
  2. tabela1.d,
  3. tabela1.d_n,
  4. tabela1.e,
  5. tabela2.name,
  6. tabela3.f_n,
  7. tabel3.f_t
  8. FROM tabela1
  9. LEFT JOIN tabela2 ON tabela2.sys = tabela1.r_m
  10. LEFT JOIN tabela3 ON tabela3.sys = [tabela1.FOR]
  11.  
KGBa
Dzięki wielkie - jest ok smile.gif
prachwal
skorzystaj z SQL SERVER MENAGMENT STUDIO - jest w zestawie nawet do wersji Express
tam masz Ctrl +Shif + Q edytor graficzny zapytań - całkiem przyzwoity
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.