Jaqueson Geschrieben 11. Oktober 2006 Geschrieben 11. Oktober 2006 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ß
escito83 Geschrieben 12. Oktober 2006 Geschrieben 12. Oktober 2006 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
Jaqueson Geschrieben 13. Oktober 2006 Autor Geschrieben 13. Oktober 2006 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?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden