Select-Frage

HansFa

Neuer Benutzer
Beiträge
2
Hallo,

ich habe eine Anfrage zu erstellen bei der die Länder ausgegben werden sollen deren Haupstadt weniger als 500.000 Einwohner haben und mindestens 5 mal in der Datenbank vorkommen. Als einzelne Teil-Anfragen bekomme ich es hin aber wenn ich es in eine vereinen will komme ich nicht weiter vllt kann mir einer helfen. Wäre toll.
Hier die Anfrage:

select c.NAME, count(*),
(select ci.NAME from country c, city ci where c.capital=ci.name and ci.population<500000)
from city ci, country c where ci.country=c.CODE
group by c.NAME having count(*) >5;

Vielen Dank.
 
Werbung:
Mal leicht abgewandelt zum verstehen & üben. Du hast:

Code:
test=*# select * from city ;
 id |  name  |  pop  | country_id
----+---------+---------+------------
  2 | wien  |  750000 |  2
  1 | berlin  | 1000000 |  1
  3 | dresden |  500000 |  1
  4 | leipzig |  500000 |  1
(4 rows)

test=*# select * from country ;
 id |  name  | city_id
----+---------+---------
  1 | brd  |  1
  2 | austria |  2
(2 rows)

gesucht: Einwohner >= 1 Million und mind. 3 Städte:

Code:
test=*# select * from country where id in (select country_id from city group by country_id having count(country_id) >= 3) and id in (select country_id from city where pop >= 1000000);
 id | name | city_id
----+------+---------
  1 | brd  |  1
(1 row)

Sollte passen, denk ich mal ... Gibt vermutlich noch elegantere Lösungen.
 
Werbung:
Zurück
Oben