Estoy intentando hacer una consulta con postgresql. La base de datos contiene dos relaciones: "reino", que incluye algunos reyes ingleses, y "dinastía", que contiene algunas personas de la dinastía stuartSQL: la subconsulta tiene demasiadas columnas
La relación "reino" incluye el nombre del rey y cuándo comenzó y terminó su reino . La relación "dinastía" incluye nombre, género, nacimiento y muerte.
Lo que estoy tratando de consultar es el rey que era el más viejo cuando murió.
Con mi consulta que estoy recibiendo este error en la línea 3 (NO EN): subquery has too many columns
Esta es la consulta:
SELECT kingdom.king, dinasty.birth, dinasty.death
FROM kingdom, dinasty
WHERE kingdom.king = dinasty.name AND kingdom.king NOT IN
(
SELECT DISTINCT R1.king, R1.birth, R1.death
FROM
(
SELECT DISTINCT R1.king, D1.birth, D1.death
FROM kingdom AS R1, dinasty AS D1, dinasty AS D2
WHERE R1.king=D1.name
) AS R1,
(
SELECT DISTINCT R1.king, D1.birth, D1.death
FROM kingdom AS R1, dinasty AS D1, dinasty AS D2
WHERE R1.king=D1.name
) AS R2
WHERE R1.death-R1.birth < R2.death-R2.birth
);
Lo que está dentro de la NO EN es correcta.
No afecta su código, pero deletree la dinastía correctamente. –