![]() |
![]() ![]() |
![]() |
![]()
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);
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 |
|
|
![]()
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.
|
|
|
![]()
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 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:52 |