Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Left join czy może coś innego?
Forum PHP.pl > Forum > Bazy danych
psychol1986
Witam, właśnie jestem w trakcie pisania strony i mam taki mały kłopot? Mianowicie mam 3 tabele, jedna z galeria jedna z uzytkownikami i trzecia która łączy obie tabele, jest tak że do jednego zdjęcia może być przypisanych wielu użytkowników. I teraz zastanawiam się jak wyciągnąć te dane? Left join czy jest jakiś inny sposób? Jeżeli Left Join to proszę o jakiś sensowny przykład.
blooregard
  1. SELECT co FROM userzy AS u
  2. LEFT JOIN zdjecia AS z ON u.id_usera = z.id_usera
  3. ORDER BY co_tam_chcesz


lub

  1. SELECT co FROM zdjecia AS z
  2. NATURAL LEFT JOIN userzy AS u
  3. ORDER BY co_tam_chcesz


Pierwsze z brzegu dwa przykładowe zapytania, nie idealne, ale byc może pomogą Ci naprowadzić się na własne rozwiązanie.
psychol1986
A natural co oznacza w drugim przykladzie?
blooregard
Cytat
A natural co oznacza w drugim przykladzie?

Jeśli w obu tabelach będzie, przykładowo, istniało pole o nazwie id_usera, to sładnia NATURAL JOIN powoduje, że właśnie po tych polach będzie dokonywane złączenie i podawanie kryterium złączenia nie jest konieczne. Możesz wtedy tym zastąpić warunek w stylu LEFT JOIN tabela AS t ON t.klucz = inna.klucz

Cytat
The NATURAL LEFT JOIN of two tables is defined to be semantically equivalent to an INNER JOIN or a LEFT JOIN with a USING clause that names all columns that exist in both tables.

http://dev.mysql.com/doc/refman/5.1/en/join.html
psychol1986
Super wielkie dzięki. Fajnie zasięgnąć wiedzy kogoś bardziej doświadczonego:)

Witam odnawiam swoje pytanie, jest ono trochę inne: stworzyłem taką sql:

  1. SELECT * FROM writers_photos AS w
  2. LEFT JOIN writerzy AS wr ON wr.id = w.idw
  3. LEFT JOIN gallery AS g ON w.idph = g.id


i tu mam pytanie jak wybrać z tabeli writerzy i gallery tylko okreslone pola?
Crozin
Zanim odpowiem... taką sql:, writerzy?

Po prostu dostosuj odpowiednio klauzurę SELECT:

  1. SELECT w.*, wr.abc, wr.def, g.ghi, g.jkl ...
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.