Potrójny LEFT JOIN w 3 tabelach |
Potrójny LEFT JOIN w 3 tabelach |
16.12.2020, 11:52:18
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 16.12.2020 Ostrzeżenie: (0%) |
Cześć,
W bazie danych mam 3 tabele: - pierwsza przechowuje dane użytkowników (id, imię i nazwisko), - druga dane projektu (id, nazwa), - trzecia dane zamówienia (order_id, description, status, user_id, created, updated, updatedby_user_id, project_id) Chciałbym na podstawie danych z trzeciej tabeli pobrać: - nazwę projektu z drugiej tabeli (na podstawie project_id), - imię i nazwisko osoby która stworzyła zamówienie z pierwszej tabeli (na podstawie user_id), - imię i nazwisko osoby która zaktualizowała zamówienie również z pierwszej tabelki (na podstawie updatedby_user_id). I z tym ostatnim mam problem. Dwa pierwsze zadania załatwiam w następujący sposób:
Można wykonać trzeciego left join'a? żeby pobrać imię i nazwisko osoby, która zaktualizowała zamówienie? Mam spore wątpliwości, że to co zrobiłem jest prawidłowe (mimo iż działa). Pozdrawiam Adam Ten post edytował Adym 16.12.2020, 11:53:02 |
|
|
16.12.2020, 17:17:27
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 477 Pomógł: 6301 Dołączył: 27.12.2004 |
poprostu dodaj kolejny left join
.... LEFT JOIN " . $this->userTable . " u ON u.id = oo.user_id LEFT JOIN " . $this->userTable . " uu ON uu.id = oo.updatedby_user_id i select dodaj kolejne uu... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
16.12.2020, 21:53:05
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 16.12.2020 Ostrzeżenie: (0%) |
dzięki za podpowiedź ale rodzi się właśnie w związku z tym kolejne pytanie:
jak mam później rozróżnić przy tworzeniu tablicy do wyświetlenia first_name i last_name osoby, która stworzyła zamówienie od osoby która je edytowała? Pozdrawiam Adam |
|
|
16.12.2020, 23:29:01
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 844 Pomógł: 227 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Proste:
Przecież od tego masz te aliasy: u.last_name - nazwisko twórcy uu.last_name - nazwisko edytora |
|
|
17.12.2020, 08:31:03
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 767 Pomógł: 1824 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Powinieneś użyć aliasów, ale dla pól:
będziesz miał je wtedy właśnie pod takimi indeksami w tablicy PHP. -------------------- |
|
|
17.12.2020, 08:52:40
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 16.12.2020 Ostrzeżenie: (0%) |
Dziękuję Panowie za pomoc, dzisiaj wprowadzę poprawki.
|
|
|
Wersja Lo-Fi | Aktualny czas: 10.06.2024 - 12:38 |