Autor | Zpráva | ||
---|---|---|---|
andynewcastleth Profil |
V návaznosti na Nemohu si poradit s JOIN při MySQL dotazu by jsem požádal o následující pomoc:
AUTA id | idSpojovaci | auto | kategorie 1 | a | Ford | 1 2 | b | Audi | 1 3 | c | BMW | 1 4 | d | Loď X1 | 2 5 | e | Loď X2 | 2 6 | f | Letadlo W1 | 3 MODELY id | idSpojovaci | auto | cena 1 | a | Ford Model A | 100 000 2 | a | Ford Model B | 150 000 3 | a | Ford Model C | 200 000 4 | a | Ford Model D | 300 000 5 | b | Audi model 11 | 250 000 MŮJ CÍL JE TENTO TEXT: V kategorii 1 se nachází XXX vozidel a nejlevnější model stojí XXX V kategorii 2 se nachází XXX vozidel a nejlevnější model stojí XXX V kategorii 3 se nachází XXX vozidel a nejlevnější model stojí XXX V kategorii 4 se nachází XXX vozidel a nejlevnější model stojí XXX V kategorii 5 se nachází XXX vozidel a nejlevnější model stojí XXX SNAŽIL JSEM SE, ALE NEMOHU DÁLE: $kategorie=1; while($kategorie<6){ $results = $mysqli->query("SELECT a.*, m.*, (SELECT count(id) FROM auta b WHERE b.kategorie = '$kategorie') pocetAutVKategorii FROM auta a LEFT JOIN (SELECT idSpojovaci, Min(cena) cena_od FROM modely GROUP BY idSpojovaci) m ON a.idSpojovaci = m.idSpojovaci WHERE povoleno='1' AND kategorie='$kategorie'"); while($row = $results->fetch_assoc()){ echo "V kategorii $kategorie se nachazi $row[pocetAutVKategorii] a nejlevnější stojí $row[cena_od]<br>"; } $kategorie++; } Výsledkem je toto (což rozumím, proč se tomu tak děje, ale nevím, jak to napsat správně) V kategorii 1 se nachazi 9 a nejlevnější stojí 15664 V kategorii 1 se nachazi 9 a nejlevnější stojí 48876 V kategorii 1 se nachazi 9 a nejlevnější stojí 35277 V kategorii 1 se nachazi 9 a nejlevnější stojí 30047 V kategorii 1 se nachazi 9 a nejlevnější stojí 44430 V kategorii 1 se nachazi 9 a nejlevnější stojí 48353 V kategorii 1 se nachazi 9 a nejlevnější stojí 12003 V kategorii 1 se nachazi 9 a nejlevnější stojí 8865 V kategorii 1 se nachazi 9 a nejlevnější stojí 24817 V kategorii 2 se nachazi 10 a nejlevnější stojí 31355 V kategorii 2 se nachazi 10 a nejlevnější stojí 43123 V kategorii 2 se nachazi 10 a nejlevnější stojí 57506 V kategorii 2 se nachazi 10 a nejlevnější stojí 15664 V kategorii 2 se nachazi 10 a nejlevnější stojí 15664 V kategorii 2 se nachazi 10 a nejlevnější stojí 28740 V kategorii 2 se nachazi 10 a nejlevnější stojí 15664 V kategorii 2 se nachazi 10 a nejlevnější stojí 20894 V kategorii 2 se nachazi 10 a nejlevnější stojí 28740 V kategorii 2 se nachazi 10 a nejlevnější stojí 20894 V kategorii 3 se nachazi 10 a nejlevnější stojí 17756 V kategorii 3 se nachazi 10 a nejlevnější stojí 9388 V kategorii 3 se nachazi 10 a nejlevnější stojí 12003 V kategorii 3 se nachazi 10 a nejlevnější stojí 9388 V kategorii 3 se nachazi 10 a nejlevnější stojí 13049 V kategorii 3 se nachazi 10 a nejlevnější stojí 17495 V kategorii 3 se nachazi 10 a nejlevnější stojí 15664 V kategorii 3 se nachazi 10 a nejlevnější stojí 31355 V kategorii 3 se nachazi 10 a nejlevnější stojí 24294 V kategorii 3 se nachazi 10 a nejlevnější stojí 24294 V kategorii 4 se nachazi 12 a nejlevnější stojí 9388 V kategorii 4 se nachazi 12 a nejlevnější stojí 20894 V kategorii 4 se nachazi 12 a nejlevnější stojí 15664 V kategorii 4 se nachazi 12 a nejlevnější stojí 9388 V kategorii 4 se nachazi 12 a nejlevnější stojí 13049 V kategorii 4 se nachazi 12 a nejlevnější stojí 28740 V kategorii 4 se nachazi 12 a nejlevnější stojí 35277 V kategorii 4 se nachazi 12 a nejlevnější stojí 47019 V kategorii 4 se nachazi 12 a nejlevnější stojí 26517 V kategorii 4 se nachazi 12 a nejlevnější stojí 35277 V kategorii 4 se nachazi 12 a nejlevnější stojí 9388 V kategorii 4 se nachazi 12 a nejlevnější stojí 35277 V kategorii 5 se nachazi 7 a nejlevnější stojí 22202 V kategorii 5 se nachazi 7 a nejlevnější stojí 20894 V kategorii 5 se nachazi 7 a nejlevnější stojí 35277 V kategorii 5 se nachazi 7 a nejlevnější stojí 60095 V kategorii 5 se nachazi 7 a nejlevnější stojí 20894 V kategorii 5 se nachazi 7 a nejlevnější stojí 24817 V kategorii 5 se nachazi 7 a nejlevnější stojí 20894 |
||
Kajman Profil |
#2 · Zasláno: 16. 1. 2020, 13:03:11
Strašně nesmyslně to patláte. Zkuste si o sql přečíst nějakou knížku.
Viděl bych to na něco jako SELECT a.kategorie, Count(DISTINCT a.id) aut, Min(m.cena) cena_od FROM auta a LEFT JOIN modely m ON a.idspojovaci = m.idspjovaci GROUP BY a.kategorie |
||
andynewcastleth Profil |
#3 · Zasláno: 16. 1. 2020, 15:10:12
Funguje, díky!
|
||
Časová prodleva: 4 roky
|
0