Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dwie tabele z wieloma relacjami między nimi
miniol
post
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 4
Dołączył: 25.03.2011

Ostrzeżenie: (0%)
-----


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ę.

Ten post edytował miniol 6.03.2014, 10:52:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


a czemu nie? Musisz zrobić 2x join z róznymi aliasami
Go to the top of the page
+Quote Post
miniol
post
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 4
Dołączył: 25.03.2011

Ostrzeżenie: (0%)
-----


  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ć?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


  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;
Go to the top of the page
+Quote Post
miniol
post
Post #5





Grupa: Zarejestrowani
Postów: 84
Pomógł: 4
Dołączył: 25.03.2011

Ostrzeżenie: (0%)
-----


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ć?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


  1. SELECT u1.name AS name1, u2.name AS name2
Go to the top of the page
+Quote Post
miniol
post
Post #7





Grupa: Zarejestrowani
Postów: 84
Pomógł: 4
Dołączył: 25.03.2011

Ostrzeżenie: (0%)
-----


Świetnie. Temat wyczerpany!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:55