Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Wybór najniższej ceny i jej ID
Forum PHP.pl > Forum > Bazy danych
ghost1511
Mam następującą tabelę:

Kod
ID_PRODUKTU   CENA    ID_CENA
121              55        78
121              48        45
121              64        65
121              51        16



Chcę pobrać ID_PRODUKTU, CENĘ, i ID_CENA produktu z najniższą ceną.

Mógłbym to zrobić wybierając minimum czyli:
  1. SELECT ID_PRODUKTU, min(CENA) AS CENA
  2. FROM TABLE
  3. GROUP BY ID_PRODUKTU


a następnie to zagnieździć:
  1. SELECT ID_PRODUKTU, CENA, ID_CENA
  2. FROM TABLE
  3. INNER JOIN (
  4. SELECT ID_PRODUKTU, min(CENA)
  5. FROM TABLE
  6. GROUP BY ID_PRODUKTU
  7. ) t2 ON TABLE.ID_PRODUKTU = t2.ID_PRODUKTU AND TABLE.CENA = t2.CENA


ale czy nie można tego zrobić w jednym zapytaniu bez zagnieżdżania?
freemp3
Sortujesz według ceny i ustawiasz limit na 1:
Kod
SELECT *  FROM tabela ORDER BY cena LIMIT 1
mmmmmmm
Nie możesz zrobić tak jak powyżej, bo odrzucasz rekordy o jednakowych najniższych cenach.
Twoje zapytanie jest prawie OK - zapomniałeś tylko o aliasie dla pola w podzapytaniu.
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.