Zaczalem sie uczyc mysql ze strony oficjalnej i mam problem ze zrozumieniem :
Task: Find the number, dealer, and price of the most expensive article.
czyli ogranicza sie do znalezienai najwyzszej kwoty.
SELECT s1.article, s1.dealer, s1.price
FROM shop s1
LEFT JOIN shop s2 ON s1.price < s2.price
WHERE s2.article IS NULL;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
| 0004 | D | 19.95 |
+--------- +--------+-------+
W moim mniemaniu:
Zalozmy, ze kwoty to 1 ,2 ,3 , czyli
s1.price (operator) s2.price
1<1 falsz - > s2.article = null - czyli wypisujemy s1.article, s1.dealer, s1.price
1<2 falsz - > s2.article = "wartosc" zostawiamy
1<3 falsz - > s2.article = "wartosc" zostawiamy
2<1 falsz - > s2.article = "null" wypisujemy
Czyli juz blad, bo miala byc tylko jeden wiersz wypisany.
Moglby mi ktos wytlaczyc co zle interpretuje, a moze kdo niepoprawny"
http://dev.mysql.com/doc/refman/5.6/en/example-maximum-row.html
1<1 falsz - > s2.article = null - czyli wypisujemy s1.article, s1.dealer, s1.price
1<2 prawda - > s2.article = "wartosc" czylinie wypisujemy
1<3 prawda - > s2.article = "wartosc" czyli nie wypisuje
2<1 falsz - > s2.article = "null" czyli wypisujemy
Czyli juz blad, bo mial byc tylko jeden wiersz wypisany.
Przepraszam, tak mialo byc. Przepraszam rowniez za literowki, ale pisalem na szybkiego.
ta pseudo tabela to wyjscie.