Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Złączenie tabel n:m. Jakie złączenie w zapytaniu.
dymek_
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 6.01.2007

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
fhl
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.05.2007

Ostrzeżenie: (0%)
-----


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 ; )
Go to the top of the page
+Quote Post
Cezar708
post
Post #3





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


@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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:27