Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie JOIN... USING...
Forum PHP.pl > Forum > Bazy danych > MySQL
Czapla
Wcześniej trzymalem pole statystyka w tabeli p_dokumnety ale pomyślałem że to nie efektywne więc postanowilem przenieść je dododatkowej tabeli p_statystyka i rozwinąć troche system statystyk.

Wcześniej lączyłem tabele usr_user i p_dokumenty za pomocą USING i bylo to najbardziej efektywne rozwiązanie.

teraz musze polaczyc tabele usr_user i p_statystyka z p_dokumenty 

w tabeli p_dokumenty trzymam klucze obce id_statystyka, id_user. Z tego co mi wiadomo USING nie pozwala łączyć w taki sposób tabel smile.gif[a szkoda]:

  1. SELECT * FROM p_statystyka, usr_user JOIN p_dokumenty USING ( id_statystyka, id_user ) WHERE id_dokument=".$ID


W jaki sposób można by inaczej to zapisać?

Pozdawiam
artega
  1. SELECT * FROM p_dokumenty LEFT JOIN p_statystyka ON (p_dokumenty.id_statystyka = p_statystyka.id_statystyka) LEFT JOIN usr_user ON (p_dokumenty.id_user = usr_user.id_user)

Wypadałoby trzymać się jednolitego sposoby nazewnictwa tabel, kolumn itd. więc stosuj [użytkownicy i dokumenty] albo [users i documents] inaczej nie znajdziesz chętnego do współpracy nad takimi "kwiatkami"
osiris
  1. SELECT * FROM t1 INNER JOIN t2 USING (kolumna)


jest równoważne

  1. SELECT * FROM t1 INNER JOIN t2 ON t1.kolumna = t2.kolumna


Nie ma tu żadnej różnicy w wydajności, po prostu USING posiada prostsza składnie.

Pozdrawiam
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.