Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]Pobieranie danych z dwóch tabeli
Forum PHP.pl > Forum > Przedszkole
Reki
W jaki (najprostrzy) sposób można pobrać dane z tabeli w zależności od danych z innej tabeli?
Przykład:
Mam dwie tabele:
users z polami - uid, www, email
oraz:
users name z polami - uid, user_name

I teraz chciałbym jednym zapytaniem pobrać wszystkie dane czyli - uid, www, email oraz user_name w zależności od pobieranego uid.
koobs
  1. SELECT u.*, un.user_name
  2. FROM users u
  3. LEFT JOIN users_name un ON un.uid = u.uid
  4. WHERE u.uid = $uid
batman
Najprostszym sposobem będzie:

  1. SELECT
  2. u1.uid,
  3. u1.www,
  4. u1.email,
  5. u2.user_name
  6. FROM users u1,
  7. users_name u2
  8. WHERE u1.uid = u2.uid
dawhol
a nie prosciej by bylo zrobic to w jednej tabeli bo ja nie widze róznicy wiec po co przeplacac biggrin.gif
batman
W zupełności zgadzam się z dawhol. Najlepiej trymać podobne dane w jednej tabeli. Ale jeśli nie ma takiej możliwości, wówczas polceam podamne rozwiązanie winksmiley.jpg
koobs
batman zapytanie ktore zaproponowales jest lipne. w przypadku gdyby w drugiej tabeli nie bylo wpisu i tym samym uid dane w ogole nie byly by pobrane. poza tym na joinach mozna grupowac etc.
Reki
Dawhol - masz rację, ale ja podałem tylko przykład. Chodziło mi jedynie o to w jaki sposób to dokładnie zrobić ^^.

Jednego tylko nie rozumiem:

  1. users u


czy taki zapis powoduje nadanie aliasu "u" tabeli "users"?
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.