You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Obtenga el número (columna nro prod) y descripción de aquellos productos que fueron
enviados al cliente de código 1000 (columna cod cliente) y no fueron enviados ni al
cliente de código 2000 ni al de código 3000.
selectpr.nro_prod, descripcion
from productos pr
inner join detalles_envios de using(nro_prod)
where exists (
select1from envios e
wheree.cod_envio=de.cod_envioande.cod_cliente=1000and not exists (
select1from envios e2
wheree.cod_envio=e2.cod_envioande2.cod_cliente=2000ore2.cod_cliente=3000
)
);
Para cada cliente al que se le hayan efectuado al menos tres envíos, devuelva su código
de cliente, nombre y cantidad de distintos productos que se le enviaron. Ordene el
listado por esta última cantidad descendente.
selectcs.cod_cliente, nombre, count(distinct nro_prod) as productos_enviados
from clientes cs
inner join envios e using (cod_cliente)
inner join detalle_envios de on (e.cod_envio=de.cod_envio)
group bycs.cod_clientehavingcount(e.cod_envio) >=3order by productos_enviados desc;
Para aquellos clientes a los que se les haya enviado al menos uno de los productos de
mayor precio, devuelva su código de cliente y nombre.
selectcs.cod_cliente, cs.nombrefrom clientes cs
inner join envios e using (cod_cliente)
inner join detalle_envios de using (cod_envio)
inner join productos pr using (nro_producto)
group bycs.cod_clientehavingmax(pr.precio) >= all (selectmax(precio) from productos);
Para cada tipo de cliente, devuelva el tipo de cliente, cuántos clientes son de dicho tipo
y cuántos envíos se les hizo a clientes de ese tipo.
select tipo_cliente, count(distinct cs.cod_cliente) as cant_clientes, count(distinct cod_envio) as cant_envios
from clientes cs
left join envios e using(cod_cliente)
group by tipo_cliente;
Para aquellos productos que hayan sido enviados al menos una vez a todos los clientes,
devuelva su número de producto (columna nro_prod) y descripción.
selectpr.nro_prod, pr.descripcionfrom productos pr
where not exists (
(select cod_cliente from clientes)
except
(select cod_cliente
from envios e
wherepr.nro_prod=e.nro_prod
)
);
Para cada envío hecho al cliente de código 1000 (columna cod_cliente), indique el código
de envío, la dirección a la que debe ser enviado, cuántos distintos productos se enviaron
en el envío y la cantidad total enviada de todos los productos que conforman el envío.
selecte.cod_envio, e.direccion, count(distinct de.nro_prod) as cant_prod, sum(de.cantidad_enviada) as cant_total
from envios e
inner join detalle_envios de using(cod_envio)
wheree.cod_cliente=1000group bye.cod_envio, e.direccion