Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: inner join i problem z dwoma danymi
Forum PHP.pl > Forum > Bazy danych
Vasquez21
Witam.

Mam taki problem, nie wiem jak najefektywniej zrobić połączenie z bazą danych.

Chodzi o to, że mam dwie tablice... w jednej mam opis użytkowników, w drugiej tablicy mam natomiast dwa ID, które odwołują się do tej tablicy.

Chciałbym wyświetlić wszystkie wiersze z pierwszej tablicy, jednak podczas wyświetlania na ekran informacji, chciałbym ID zamienić na imiona+nazwiska osób.

Samo rozwiązanie nie jest problemem, bo można to zrobić tak, że puszczam pętlę po pierwszej tablicy i za każdym przejściem pętli odpytuję dwukrotnie bazę o imię+nazwisko osób. Jednak wydaje mi się to strasznie nieefektywne rozwiązanie.

Byłbym wdzięczny za jakąś sugestię.
Tibod
Użyj JOIN
Vasquez21
nie bardzo wiem jak join ma rozwiązać mój problem...

załóżmy, że mam dwie takie tablice:

USERS
id_user
name

oraz

OTHERS
jakasDana1
jakasDana2
id_ktos1
id_ktos2

i teraz puszczam pętlę po OTHERS i chciałbym wyświetlić:
jakasDana1, jakasDana2 oraz zamiast id_ktos1: name i zamiast id_ktos2: name
L_Devil
  1. SELECT
  2. u1.name AS user1,
  3. u2.nam AS user2,
  4. o.jakasDana1 AS jakasDana1,
  5. o.jakasDana2 AS jakasDana2
  6. FROM `USERS` AS u1,
  7. `USERS` AS u2,
  8. `OTHERS` AS o
  9. WHERE u1.id=o.id_ktos1 AND u2.id=o.id_ktos2


Takie ukryte zastosowanie JOIN winksmiley.jpg
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.