Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyciągnięcie danych z dwóch tabel., Gdzie o.id = z.oId Oraz Min(z.id)
Whisller
post 5.10.2006, 16:45:11
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 5
Dołączył: 29.03.2006
Skąd: Poznań

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


Witam,
mam pewien spory problem z zapytaniem do bazy. A mianowicie, mam dwie tabele oferty oraz zdjecia dla każdej oferty może być wiele rekordów z tabeli zdjęcia czyli mamy tutaj 1:wiele
Muszę wyciągnąć rekordy z tabeli oferty oraz po jednym rekordzie z tabeli zdjecia gdzie oferty.id = zdjecia.idOferta ale ( i w tym cały szkopuł ) rekord z tabeli zdjęcia musi być najstarszym rekordem. Czyli posortowanym na zasadzie MIN(zdjecia.id).

Moje kombinacje niestety zakończyły się na
  1. SELECT oferty.miejscowosc, oferty.idRegion, oferty.dataDodania, oferty.id,
  2. zdjecia.zdjecieMiniaturka
  3. FROM oferty LEFT JOIN zdjecia
  4. ON oferty.id = zdjecia.idOferta
  5. WHERE idKategoria = 1
  6. GROUP BY oferty.id
  7. ORDER BY oferty.id


Z góry dziękuje za pomoc.

Edit
Chyba mam rozwiązanie, ale muszę jeszcze to przetestować.

***
Niestety mój sposób nie był wart funta kłaków smile.gif

Ten post edytował Whisller 5.10.2006, 18:16:16


--------------------
Blog | Strona www | wicia.pl
Go to the top of the page
+Quote Post
tom00
post 5.10.2006, 17:30:54
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.03.2002
Skąd: Wrocław

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


jeśli dobrze zrozumiałem to widze sposoby:
- zrezygnować z grupowania i do ORDER BY dorzucić zdjecia.id
- zostawić tak jak jest, tylko fizycznie posortować sobie dane w tabeli zdjecia (ALTER TABLE zdjecia ORDER BY id)
- albo użyć subselecta (co zapewne będzie najmniej wydajne)

  1. SELECT oferty.miejscowosc, oferty.idRegion, oferty.dataDodania, oferty.id AS offerID,
  2. (SELECT zdjecia.zdjecieMiniaturka FROM zdjecia WHERE IDoferta = offerID ORDER BY zdjecia.id LIMIT 1)
  3. FROM ofery WHERE idKategoria = 1;
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: 13.08.2025 - 22:32