Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączenie pól w bazie danych
Forum PHP.pl > Forum > Bazy danych > MySQL
drax
Mam tabelę sellout:

Kod
Pole | Typ | Null
id | int(5) | Nie
title | varchar(50) | Nie
content | text | Nie
image1 | varchar(30) | Nie
image2 | varchar(30) | Nie


Przykładowe dane:
Kod
id | title | content | image1 | image2
1 | sellout1 | <p>tresc1</p> | 12 | 14
2 | sellout2 | <p>tresc2</p> | 13 |


tabela sellout_img
Kod
Pole | Typ | Null
id | int(5) | Nie
image | varchar(30) | Nie


dane:
Kod
id | image
1 | wyp3.jpg
2 | 7.jpg
3 | 8.jpg


id w sellout_img odpowiada wartością image1 i image2 w sellout


Chcę aby zapytanie tworzyło coś na wzór:
Kod
id | title | content | image1 | image2
1 | sellout1 | <p>tresc1</p> | img123.jpg | image234.jpg
2 | sellout2 | <p>tresc2</p> | img233.jpg |


Jak należy użyć LEFT JOIN aby to działało poprawnie?
Crozin
  1. SELECT sellout.id id, sellout.title, sellout.content, si1.path AS image1, si2.path AS image2
  2. FROM sellout
  3. LEFT JOIN sellout_img si1 ON sellout.image1 = si1.id
  4. LEFT JOIN sellout_img si2 ON sellout.image2 = si2.id
drax
Czemu po wykonaniu tego zapytania dostaję błąd:
Kod
ERROR: [42S22] SQLSTATE[42S22]: Column not found: 1054 Unknown column 'si1.path' in 'field list'

?

Jest sposób aby sprawdzić strukturę tabeli po wykonaniu zapytania?
Crozin
Próbowałeś chociaż zrozumieć podane przeze mnie zapytanie czy na głupa kopiuj, wklej i bezmyślnie wrzucasz tu błędy?

Podpowiedź: walnąłem się w nazwie kolumny.
drax
  1. SELECT sellout.id id, sellout.title, sellout.content, si1.image AS image1, si2.image AS image2
  2. FROM sellout
  3. LEFT JOIN sellout_img si1 ON sellout.image1 = si1.id
  4. LEFT JOIN sellout_img si2 ON sellout.image2 = si2.id


Poprawiłem już.
Chwilę mi to zajęło.. wink.gif
Dziękuje serdecznie za pomoc:)
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.