Veröffentlicht 11. Oktober 200618 j Hi, ich habe folgende Situation: Oracle10g mit folgenden Tabellen: Country besteht aus: NAME (Bsp: Deutschland) CODE (Bsp: D) CAPITAL (Bsp: Berlin) PROVINCE (Bsp: Berlin) AREA (Bsp: 356910) POPULATION (Bsp: 80000000) Borders besteht aus: COUNTRY1 (Bsp: D) COUNTRY2 (Bsp: A) LENGTH (Bsp: 150) Länge der Grenzen Ich soll nun ein SQL Statement schreiben, dass zu jedem Land die Summe der Fläche seiner Nachbarländer berechnet. Ich bekomme es einfach nicht hin. Vielleicht kann mir ja jemand von Euch helfen. Danke und Gruß
12. Oktober 200618 j wenn ich es richtig verstanden habe, sieht das ganze wie folgt aus: select c1.name, sum(c2.area) from country c1, country c2, borders b1 where b1.country1=c1.code and b1.country2=c2.code group by c1.name
13. Oktober 200618 j Die Anweisung passt aber nur für eine Seite... Ich hab es jetzt folgendermaßen gemacht: Ich habe eine View erstellt und dann habe ich eine SQL Anweisung auf die View gemacht. CREATE VIEW flaechen AS ( SELECT a.Name, SUM((SELECT area FROM mondial.country WHERE code = b.country2)) AS AREA FROM mondial.country a JOIN mondial.borders b ON b.Country1 = a.Code GROUP BY a.Name UNION ALL SELECT a.Name, SUM((SELECT area FROM mondial.country WHERE code = b.country1)) AS AREA FROM mondial.country a JOIN mondial.borders b ON b.Country2 = a.Code GROUP BY a.Name ); SELECT name, SUM(area) AS AREA FROM flaechen GROUP BY name ORDER BY name ASC; Dann kommt das richtige Ergebniss raus... Ist es auch möglich alles in einer Anweisung zu schreiben?
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.