Buenas tardes,
Podría alguien ayudarme? Mi problema es el siguiente, tengo tres tablas:
Tabla 1 CONTINENTE
CONTINENTE_ID CONTINENTE
1 AMERICA
2 AFRICA
3 ASIA
TABLA 2 PAIS
PAIS_ID CONTINENTE PAIS
1 AMERICA COLOMBIA
2 AMERICA CUBA
3 AFRICA KENYA
Como veis no tengo pais para ASIA
TABLA 3 CIUDAD
CIUDAD_ID CONTINENTE PAIS CIUDAD
1 AMERICA COLOMBIA BOGOTA
2 AMERICA COLOMBIA CARTAGENA
3 AMERICA CUBA LA HABANA
4 ASIA NULL PEKIN
La idea de la query es la siguiente, necesito para cada pais el número de ciudades que tiene, si no tiene ciudades me devuelve cero.
El resultado sería:
AMERICA COLOMBIA 2
AMERICA CUBA 1
ASIA NULL 1
AFRICA KENYA 0
Lo he intentado de la siguiente manera pero no me sale bien:
SELECT B.CONTINENTE, B.PAIS, COUNT(A.PAIS)
FROM CONTINENTE B LEFT OUTER JOIN PAIS C
ON B.CONTINENTE=C.CONTINENTE
LEFT OUTER JOIN CIUTDAD A ON B.CONTINENTE=A.CONTINENTE AND C.PAIS=A.PAIS
GROUP BY B.CONTINENTE, B.PAIS
Muchas gracias