Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Myql JOIN wyniki w jednym wierszu, czy możliwe?
KarolOl
post 22.10.2014, 17:06:07
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.07.2014

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


Witam.

Zastanawiam się, czy wynik złączenia mogę otrzymać w jednym wierszu (myśle, czy to co chce uzyskać dam radę za pomocą 1 zapytania).
Mamy dwie tabele:

Tabela 1 (id,opis,id_klucz),
Tabela 2 (id_zdjecia,id,path);

  1. SELECT t1.id,t1.opis,t2.path,t1.id_klucz FROM tabela1 t1
  2. LEFT JOIN tabela2 t2 ON (t1.id = t2.id)
  3. WHERE t1.id_klucz = $zmienna ;


Sęk w tym, że produkt z tabel1 (id) mógłby posiadać 2 lub więcej zdjęć. Ale nie chce duplikować wierszy w wyniku tabelarycznym tylko dlatego że jakiś produkt trafi na dwa zdjęcia.
Ścieżkę do zdjęcia podaję w linku gdzie po najechaniu dostaje operator podgląd poprzez jQuery i gdy są dwa zdjęcia chciałbym wygenerować dwa linki obok siebie w jednej kolumnie.

Na tą chwilę mam tylko pomysł, by przy generowaniu tabeli sprawdzać osobnym zapytaniem ile jest zdjęć do produktu o danym id (z tabeli 1) i je z tablicy wypisać do danego wiersza.
Myślę że się dobrze wyraziłem.

Wiem, że nie działa tak LEFT JOIN ale może jest jakiś inny sposób na rozwiązanie tej kwestii.

Ten post edytował KarolOl 22.10.2014, 17:09:05
Go to the top of the page
+Quote Post
Turson
post 22.10.2014, 18:05:37
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Żeby otrzymać w jednym wierszu to musiałbyś robić podzapytania, ale to bezsensu, chyba że znasz od razu PK identyfikujący wiersz, ale pewnie nie.
Go to the top of the page
+Quote Post
KarolOl
post 22.10.2014, 18:14:23
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.07.2014

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


No klucz mam (związanym relacją w innodb jeden do wielu) to tabela1 (id) -> tabela2 (id). Oczywiście (id) mam pośrednio bo wybieram zadane wartości z tabeli1 po znanym id_klucz.

Przykład dokładny jaki problem.

Mam transport (to jest mój id_klucz). Do niego przylegają palety (id), i trafia się paleta z MIXem kolorów, więc cechuje ją w osobnej tabeli jakie kolory składają się na mixa. (tabela mix_kolory id_mix,id_paleta,id_kolor). Analogicznie sprawa tyczy się zdjęć.

Ten post edytował KarolOl 22.10.2014, 18:18:32
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:52