Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Złączenie tabel n:m. Jakie złączenie w zapytaniu.
Forum PHP.pl > Forum > Bazy danych > MySQL
dymek_
Witam.
Mam następujący problem. 2 tabele:

oferta:
id_oferty
cena
nazwa
uwagi

magazyn:
id_towaru
cena
nazwa

Oraz 3 tabele łączącą

oferta_magazyn:
id_oferty
id_towaru


Chce teraz zadać takie pytanie, aby w wyniku dostać wiersz w którym będą wszystkie dane z tabeli oferta + te towary które należą do tej oferty. Udało mi się zrobić tylko tak, że dostawałem n-wierszy (gdzie n to ilość towarów przypisanych do danej oferty), a w kazdym wierszu były wszystkie dane z tabeli oferta + jedna rzecz z tabeli magazyn).

Mam nadzieję że nie zakręciłem za bardzo. Dzięki za pomoc.
fhl
Kod
SELECT t1.*,t2.nazwa FROM oferta t1 LEFT JOIN magazyn t2 ON t1.id_oferty=t2.id_towaru;

Chodzi o takie coś? ; ) Szczerze mówiąc to nie bardzo rozumiem po co ta 3 tabela ; )
Cezar708
@fhl 3 tabela jest mu potrzebna inaczej nie zrobiłby relacji wiele do wielu, poza tym Twoje zapytanie jest baz sensu bo łączysz dwie tabele za pomocą warunku `t1.id_oferty=t2.id_towaru`

zapytanie powinno wygladać np tak
  1. SELECT *
  2. FROM oferta o, magazyn m, oferta_magazyn om
  3. WHERE om.id_oferty=o.id_oferty AND om.id_magazynu=m.id_magazynu
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-2024 Invision Power Services, Inc.