Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL]Pobieranie danych z dwóch tabeli
-Reki-
post
Post #1





Goście







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.
Go to the top of the page
+Quote Post
koobs
post
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 22.07.2006
Skąd: Wrocław

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


  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


Ten post edytował koobs 23.07.2006, 21:12:28
Go to the top of the page
+Quote Post
batman
post
Post #3





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




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


Ten post edytował batman 23.07.2006, 21:25:13
Go to the top of the page
+Quote Post
dawhol
post
Post #4





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


a nie prosciej by bylo zrobic to w jednej tabeli bo ja nie widze róznicy wiec po co przeplacac (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
batman
post
Post #5





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
koobs
post
Post #6





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 22.07.2006
Skąd: Wrocław

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


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.

Ten post edytował koobs 23.07.2006, 22:02:19
Go to the top of the page
+Quote Post
-Reki-
post
Post #7





Goście







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"?
Go to the top of the page
+Quote Post

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: 23.08.2025 - 06:56