Hallo Forum,
ich versuche, SQL zu erlernen und habe an einem praktischen Beispiel folgenden Code zugeschickt bekommen. Mein Anliegen war folgendes:
In meinem Datensatz habe ich verschiedene (mehrfach vorkommende) Städte und eine Spalte prices (einige kommen auch hier mehrfach vor, allerdings sind es je Stadt immer dieselben). Viele Zellen der Preis-Spalte sind jedoch leer. Mein Ziel ist: Fülle die leeren Zellen mit den stadtspezifischen Angaben der Preis-Spalte.
Die Lösung funktioniert sehr gut, allerdings verstehe ich nicht so recht, wie man diesen Code liest. Kann mir dabei jemand helfen? Also, was in dem Code gehört zusammen? Wo fängt ein neuer Unterbefehl an usw.?
Danke!
Code
data have;
infile cards truncover;
input city :$20. price;
cards;
Dresden 2005
Berlin
Frankfurt
Bonn
Berlin 4030
Bonn
Dresden 2005
Frankfurt 6053
Berlin
Frankfurt
Dresden
Bonn
Berlin 4030
Frankfurt
Bonn 3050
Dresden
;
run;
proc sql;
create table want as select a.*,b.price as price2 from
have as a left join (select city,max(price) as price from have group by city) as b
on a.city=b.city;
quit;
Alles anzeigen