Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: LEFT JOIN bez dodatkowych rekordów
Forum PHP.pl > Forum > Bazy danych > MySQL
Kuziu
Mam dwie tabele:

a
  1. id, wartosc
  2. 1, a
  3. 2, b
  4. 3, c


b
  1. a_id, wartosc
  2. 1, z
  3. 1, y
  4. 1, x
  5. 2, x
  6. 3, x


I robie zapytanie
  1. SELECT * FROM a
  2. LEFT JOIN b ON (a.id = b.a_id)


i dostaję wyniki:
  1. 1, a, 1, z
  2. 1, a, 1, y
  3. 1, a, 1, x
  4. 2, b, 2, x
  5. 3, c, 3, x


Chciałbym dostać tylko 3 wyniki z tabeli a z dołączonym prawym wynikiem, niż w tabeli a się znajduje rekordów.

Nie mogę użyć GROUP_BY id gdyż czasem będzie kilka wpisów w tabeli a o tym samym id i chcę dostać je wszystkie.

Chciałbym więc dostać:

  1. 1, a, 1, z
  2. 2, b, 2, x
  3. 3, c, 3, x
webdice
Kod
GROUP BY `a`.`wartosc`
Kuziu
W sumie to nie o to mi chodziło bo chciałem to zrobić jakoś za pomocą MySQL'a jakąś komendą by nie dodawał tych wierszy ale w sumie u mnie wartość jest chyba unikalna to może i się uda.

A jest jakaś opcja by nie tworzył nowych wierszy, w sensie pozostawił tylko te z pierwszej tabeli i dołączył do niej brakujące ale nie dodawał nowych wyników?
kefirek
Może GROUP_CONCAT() questionmark.gif
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.