Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dwie tabele z wieloma relacjami między nimi
Forum PHP.pl > Forum > Bazy danych > MySQL
miniol
mam dwie tabele:

Tabela uzytkownicy

Kod
id   imie   nazwisko
1    jan    kowalski
2    piotr  nowak
3    jan    zbedny



i tabele zlecenia
Kod
id   zlecajacy    wykonujacy
1    1            2
2    2            1
3    3            1
4    3            2
5    1            3


W jaki sposób połączyć te tabele, tak aby otrzymać imię i nazwisko zlecającego jaki wykonującego zlecenie?
Inner joinem mogę podpiąć tabelę, ale dla jednej kolumny (np dla zlecajacego), ale wykonującego już chyba nie mogę.
Pyton_000
a czemu nie? Musisz zrobić 2x join z róznymi aliasami
miniol
  1. SELECT `z`.*, `u1`.*, `u2`.`*` FROM `zlecenia` AS `z` INNER JOIN
  2. `uzytkownicy` AS `u1` ON `u1`.`id` = `z`.`osoba_odpowiedzialna`,
  3. `uzytkownicy` AS `u2` ON `u2`.`id` = `z`.`osoba_wykonujaca` WHERE `z`.`id` = 2;

Takie coś nie działa. Jak to poprawić?
Pyton_000
  1. SELECT
  2. `z`.*,
  3. `u1`.*,
  4. `u2`.*
  5. FROM
  6. `zlecenia` AS `z`
  7. JOIN `uzytkownicy` AS `u1` ON (`u1`.`id` = `z`.`osoba_odpowiedzialna`)
  8. JOIN `uzytkownicy` AS `u2` ON (`u2`.`id` = `z`.`osoba_wykonujaca`)
  9. WHERE `z`.`id` = 2;
miniol
Ok działa, a w jaki sposób mogę jeszcze w php wyciągnąć te dane? Bo te dołączone kolumny mają dokładnie taką samą nazwę, więc jeśli dam $wyswietl['imie'] To wyświetli mi tylko jedno z imion. Jak to jeszcze mogę wyodrębnić?
Pyton_000
  1. SELECT u1.name AS name1, u2.name AS name2
miniol
Świetnie. Temat wyczerpany!
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-2024 Invision Power Services, Inc.