Consultas anidadas
Hola, necesito la siguiente ayuda, tengo la siguiente tabla:
CREATE TABLE tbProducto
( Cod_Producto INTEGER PRIMARY KEY);
DROP TABLE tbCalidad;
CREATE TABLE tbCalidad
(
Cod_Producto INTEGER,
Cod_Lote INTEGER,
Valoracion CHAR(1)
NOT NULL
CHECK( Valoracion IN ('a', 'm', 'b')),
-- a:alto rendimiento, m:medio, b:bajo
PRIMARY KEY (Cod_Producto, Cod_Lote)
);
Sea la consulta:
SELECT Cod_Producto FROM tbProducto
MINUS
SELECT Cod_Producto FROM tbProducto
WHERE (Valoracion ='m' AND
Cod_Producto NOT IN (SELECT Cod_Producto FROM tbProducto)) OR
(Valoracion ='a' AND
Cod_Producto IN (SELECT Cod_Producto FROM tbProducto));
La tarea consiste en entender qué realiza la consulta .
¿Me puedes ayudar?
Gracias.
CREATE TABLE tbProducto
( Cod_Producto INTEGER PRIMARY KEY);
DROP TABLE tbCalidad;
CREATE TABLE tbCalidad
(
Cod_Producto INTEGER,
Cod_Lote INTEGER,
Valoracion CHAR(1)
NOT NULL
CHECK( Valoracion IN ('a', 'm', 'b')),
-- a:alto rendimiento, m:medio, b:bajo
PRIMARY KEY (Cod_Producto, Cod_Lote)
);
Sea la consulta:
SELECT Cod_Producto FROM tbProducto
MINUS
SELECT Cod_Producto FROM tbProducto
WHERE (Valoracion ='m' AND
Cod_Producto NOT IN (SELECT Cod_Producto FROM tbProducto)) OR
(Valoracion ='a' AND
Cod_Producto IN (SELECT Cod_Producto FROM tbProducto));
La tarea consiste en entender qué realiza la consulta .
¿Me puedes ayudar?
Gracias.
Respuesta de yescuder
1