
Ayuda para resolver dos consultas SQL
Publicado por Verónica (1 intervención) el 24/09/2021 19:00:17
Hola, tengo un problema con unas consultas la base de datos es la siguiente
Country(id, name)
Person(id, name, country_id)
Property(id, ,type, value_in_euros, person_id, country_id)
La primera consulta es:
-Nombre de la persona con mas propiedades de tipo vehiculo
Hago esto y como resultado me da dos nombres y solo me tiene que dar 1 de esos dos ¿Que debo hacer?
SELECT Person.name, COUNT(person_id) AS "Nº MAXIMO DE VEHICULOS"
FROM Property INNER JOIN Person ON Property.person_id=Person.id
WHERE type ="vehicle"
GROUP BY Person.name
HAVING MAX(person_id)
En la segunda consulta me pasa igual, el enunciado es:
Nombre de las personas que tienen propiedades fuera de sus paises
He hecho esto pero me sale como el anterior un nombre de mas que no deberia salir
SELECT DISTINCT Person.name
FROM Property INNER JOIN Person ON Property.person_id=Person.id INNER JOIN Country ON Person.country_id
WHERE Property.Country_id NOT IN ( SELECT Person_id FROM Property )
Country(id, name)
Person(id, name, country_id)
Property(id, ,type, value_in_euros, person_id, country_id)
La primera consulta es:
-Nombre de la persona con mas propiedades de tipo vehiculo
Hago esto y como resultado me da dos nombres y solo me tiene que dar 1 de esos dos ¿Que debo hacer?
SELECT Person.name, COUNT(person_id) AS "Nº MAXIMO DE VEHICULOS"
FROM Property INNER JOIN Person ON Property.person_id=Person.id
WHERE type ="vehicle"
GROUP BY Person.name
HAVING MAX(person_id)
En la segunda consulta me pasa igual, el enunciado es:
Nombre de las personas que tienen propiedades fuera de sus paises
He hecho esto pero me sale como el anterior un nombre de mas que no deberia salir
SELECT DISTINCT Person.name
FROM Property INNER JOIN Person ON Property.person_id=Person.id INNER JOIN Country ON Person.country_id
WHERE Property.Country_id NOT IN ( SELECT Person_id FROM Property )
Valora esta pregunta


0