Autor | Zpráva | ||
---|---|---|---|
Hitman Profil |
Mám dvě tabulky - katalog a cennik aut:
Pro zjednodušení vynechám id: katalog nazev kategorie mercedes 1 škoda 2 bmw 1 audi 1 ford 3 humer 3 cenik nazev cena mercedes 500 Kč bmw 800 Kč audi 300 Kč bmw 150 Kč A potřebuji vytvořit dotaz, který najde minimum v každém názvu u příslušené kategorie a seřadí je od nejlevnějšího. Čili jde mi o kategorii 1, patří tam mercedes, bmw, audi. Jdu do tabulky ceny a najdu kolik stojí nejlevnější mercedes, nejlevnější bmw, nejlevnější audi a ty vypíšu. Zkusil jsem: SELECT * FROM cenik WHERE cena = (SELECT MIN(cena) FROM cenik INNER JOIN katalog ON katalog.nazev = cenik.nazev WHERE katalog.kategorie= $kategorie); A vyhodí to jen nejlevnější 1 auto, čili BMW. To je v pořádku, ale potřebuji aby to potom vypsalo i audi, mercedes. Jestli ten dotaz jen nějak otočit... Díky |
||
Keeehi Profil |
Něco takového:
SELECT nazev, MIN(cena) FROM cenik INNER JOIN katalog ON katalog.nazev = cenik.nazev WHERE katalog.kategorie = $kategorie GROUP BY cenik.nazev ORDER BY MIN(cena) |
||
Hitman Profil |
Nechybí tam závorka a ještě jeden select? Vzhledem k tomu 2x FROM...když jedno odmažu ukazuje to ne chybu ve WHERE katalog....
// Tak nevím co tam bylo za chybu, takto mi to už vzalo (jen SELECT katalog.kategorie, jinak hlásí "ambiguous), každopádně díky, ty skupiny mi dělají pořád problémy.. |
||
Keeehi Profil |
#4 · Zasláno: 10. 7. 2017, 22:37:06
Nechybí. Ten jeden from tam samozřejmě přebýval. No a proč to po umazání ukazovalo chybu bylo kvůli špatnému pořadí where a group by.
|
||
Časová prodleva: 7 let
|
0