Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] LEFT JOIN dwóch tabel, j.w.
ostrylg
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 18
Dołączył: 11.12.2005
Skąd: Gdańsk

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


Witam,

mam dwie tabele

FILES
fileId | authorId | inspectorId | name | status

USERS
id_user | first_name | last_name | email | password | initials

teraz mam zapytanie które wyciąga mi z tabeli files wszystkie wiersze, chciałbym żeby za pomocą LEFT JOINa przypisać polu authorId oraz inspectorId z tabeli files wartość initials z tabeli users według authorId = userId oraz inspectorId = userId

Zrobiłem coś takiego ale nie działa :

  1. $query = "SELECT * FROM `files` f LEFT JOIN `users` u ON f.`authorId` = u.`initials` ";


jak to rozwiązać ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Noidea
post
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

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


Musisz dołączyć tabelę users dwukrotnie - raz łącząc authorId z userId, drugi raz łącząc inspectorId z userId:

  1. SELECT f.`fileId`, u1.`initials` AS author_initials, u2.`initials` AS inspector_initials, f.`name`, f.`status`
  2. FROM `files` f
  3. LEFT JOIN `users` u1 ON ( f.`authorId` = u1.`userId` )
  4. LEFT JOIN `users` u2 ON ( f.`inspectorId` = u2.`userId` )


Ten post edytował Noidea 10.03.2011, 16:27:17
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 06:22