Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Łączenie 2 tabel
Mayka
post 2.07.2012, 19:31:07
Post #1





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 12.01.2009
Skąd: Kanapa

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


Witam

Mam taki problem, mam sobie 2 tabele w jednej są produkty a w drugiej zdjecia do tych produktów wygląda to mniejwiecej tak:
produkty:
id | nazwa | opis | itd...
1 | jakas | 255znaków opisu | icos tam jescze

zdjecia
|id| produkt_id | nazwa pliku
1 | 1 | zdjecie.jpg
2 | 1 | zdjecie.jpg
3 | 1 | zdjecie.jpg

i teraz chciałbym wyświetlić tylko to zdjęcie z najniższym id, jako zdjęcie główne żeby było na stałe to samo. I mam z tym problem bo nie bardzo znam sie na łączeniu tabel w jednym zapytaniu.. Zrobiłem coś takiego :
  1. SELECT products.name,products.id, product_images.file FROM products LEFT JOIN product_images ON products.id = product_images.product_id ORDER BY products.id

Ale to wyświetla wszystkie 3 fotki.. A ja bym chciał żeby dla każdego z powiedzmy 100 produktów wyświetlała sie jedna fotka. Jak by ktoś mogł mi pomóc i poprawić żeby to zadziałało tak jak powinno to byłbym wdzieczny wink.gif

Ten post edytował Mayka 2.07.2012, 19:32:19
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
neosatan
post 3.07.2012, 13:24:51
Post #2





Grupa: Zarejestrowani
Postów: 79
Pomógł: 2
Dołączył: 29.04.2009
Skąd: wrocław

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


  1. SELECT products.name,products.id, (SELECT file FROM product_images WHERE product_id = products.id ORDER BY id ASC LIMIT 1) AS 'file' FROM products ORDER BY products.id


Nie wiem czy jest sens łączenia tabel za pomocą JOIN, gdy pobieramy tylko jedną komórkę. Tutaj raczej muszę się spece wypowiedzieć. Problem z join polega na tym, że wypluje więcej wyników, gdy produkt ma więcej zdjęć (a podejrzewam, że nie o to chodzi), można to zniwelować bawiąc się GROUP BY, LIMIT i ORDER, ale po co skoro można prostym sposobem zawrzeć jedno podzapytania

Ten post edytował neosatan 3.07.2012, 13:29:51


--------------------
C/C++ (ucze się...), PHP (ucze się...), SMARTY(ucze się...), PYTHON(ucze się...), C#(uczę się...), PERL(uczę się...), JavaScript(uczę się...), JAVA(będą mi kazali się uczyć...)... Ja się głównie uczę...
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.07.2025 - 09:39