Está en la página 1de 8

Problemas referentes a la empresa mercantil del taller

#1
Impares

1.
Encontrar el nombre de los vendedores cuyo director es Sam Clark y
cuyas ventasrealizadas sean inferiores a 200.000.

select A.nombre
from repventas A, repventas B
where B.nombre = 'Sam Clark' and A.director = B.num_empleado and
A.ventas <200000;

3. Listar el nombre, las ventas


y las cuotas de los representantes cuyas ventas
no estén Entre el 80% y el 120% de su cuota.

Select nombre,ventas,cuotas
from repventas
where (ventas < cuota*0.8) and (ventas > cuota*1.2)

5.Hallar todos los representantes que estén por debajo de su cuota per
o que sus ventas no estén por debajo de 150.000.

Select ventas,cuota
from repventas
where (ventas >150000 ) and (ventas < cuota)

7. Listar las oficinas ordenadas ascendentemente por región, y dentro de cada


región en orden descendente del rendimiento de sus ventas (ventas – objetivo).

Select region ,ventas,objetivo


from oficinas
order by region asc,ventas-objetivo desc;
9. Listar todos los pedidos mostrando el número del pedido, su importe y
el nombre y límite de crédito del cliente que lo hace.

Select NUM_PEDIDO,IMPORTE,EMPRESA, lim_credito


from pedidos,clientes
where (cliente=num_clie)

11. Encontrar las oficinas con un objetivo superior a 600.000 incluyendo el


nombre y título de sus directores.

Select objetivo, nombre, titulo


from OFICINAS,REPVENTAS
where (dir=num_empleado AND (objetivo> 600000))

13. Mostrar los pedidos superiores a 25.000 con el nombre del cliente que lo
encargó, el representante que lo anotó y la oficina (ciudad) en la que trabaja el
representante.

Select empresa, nombre, ciudad


From clientes, oficinas,repventas,pedidos
where (importe>25000) and (cliente=num_clie)
and (repventa=num_empleado) and (oficina_rep=oficina);

15. Mostrar el nombre, las ventas y la oficina (ciudad) de cada representante.

select repventas.nombre, repventas.ventas , ciudad


from repventas, oficinas
where repventas.oficina_rep = oficina
17. Listar de cada representante su nombre y ciudad donde queda su oficina,
junto al nombre y la ciudad donde queda la oficina de su director si quedan en
ciudades diferentes.

select primera.nombre,segunda.ciudad, tercera.nombre,cuarta.ciudad


from repventas primera,oficinas segunda,repventas tercera,oficinas cuarta

where primera.director = tercera.num_empleado and (primera.oficina_rep =


segunda.oficina) and (tercera.oficina_rep = cuarta.oficina) and
(segunda.ciudad!=cuarta.ciudad);

19. Calcular de los representantes, el total de las ventas, el total de las cuotas,
la diferencia de estos totales, y el total de las diferencias.

Select SUM (VENTAS), SUM (CUOTA), SUM (VENTAS) - SUM


(CUOTA),
SUM(VENTAS-CUOTA)
From REPVENTAS

21. Calcular el total de los importes de los pedidos hechos por cliente y
tramitando por cada representante, ordenándolos por cliente y dentro de cada
cliente por representante.

Select cliente, SUM( importe )


From pedidos
group by cliente,repventa;

23. Mostrar el código y el nombre de cada representante con su respectivo


total de importe de todos los pedidos tramitados por representante.

Select num_empleado, nombre, SUM(importe)


From pedidos, repventas
Where (num_empleado=repventa)
group by repventa
25. Por cada ciudad en cuya oficina haya dos o más personas, calcular la cuota
total y las ventas totales de los representantes que trabajan en ella.

Select SUM (cuota), SUM (repventas.ventas)


From pedidos, repventas, oficinas
Group by oficina
Having count(oficina) >= 2

27. listar los representantes cuya cuota sea menor que el 10% del objetivo total
De la empresa.

select repventas.*
from repventas
where ventas<(
Select sum(oficinas.objetivo)*'0.1'
from oficinas);

29. Listar todos los productos del fabricante ACI para los
que sus existencias están por encima de las existencias
Del producto ACI-41004

select distinct primera.*


from productos, productos primera, productos segunda
where primera.id_fab= 'ACI' and segunda.id_producto= '41004' and
primera.existencia > segunda.existencia;

31. Listar los representantes que trabajan en oficinas


dirigidas por Larry Fitch

select empleado.nombre
from repventas empleado, repventas director, oficinas
where empleado.oficina_rep = oficinas.oficina
and oficinas.dir = director.num_empleado
and director.nombre = 'Larry Fitch';
33.Listar los clientes(la empresa) asignados al respresentante sue smith que no
hayan formulado un pedido superior a 3000.

select distinct clientes.empresa


from clientes
where clientes.num_clie in (select pedidos.cliente
from pedidos
where pedidos.importe < '3000' and pedidos.repventa = (select
repventas.num_empleado
from repventas
where nombre = 'Sue Smith') );

35.listar el nombre de los representantes que hayan formulado algún peido


cuyo importe sea superior al 10% de su cuota. Sugerencia utilizar ANY

select distinct repventas.nombre


from repventas, pedidos
where repventas.num_empleado in (select pedidos.repventa
from pedidos
where pedidos.importe > not ( repventas.cuota*'0.1'
));

37.Listar los clientes (la empresa) cuyos representantes estén asignados a


oficinas de la región este.

select distinct empresa


from clientes, oficinas, repventas
where clientes.rep_clie = (select num_empleado
from repventas, oficinas where oficina_rep = (select oficina
from oficinas where region='Este') );

39.Listar el nombre de los representantes mayores a 40 años que dirijan


representantes cuyas ventas sean mayores a la cuota de su jefe.

select repventas.nombre
from repventas,repventas rv2
where repventas.edad>40 and rv2.director = repventas.num_empleado
and rv2.ventas>repventas.cuota;
41 listar los clientes (la empresa) clasificándolos según su límite de crédito
así: “A” si su límite de crédito es superior a 60000, “B” si es superior a 30000,
Y C el resto.

select clientes.empresa, case when


clientes.lim_credito>60000 then 'A'
when clientes.lim_credito>30000 then 'B'
else 'C'
end
from clientes;

43 Listar los representantes y sus cuotas teniendo en cuenta que si un


representante no tiene aún asignada una cuota se debe mostrar en su lugar sus
ventas y si por alguna razón sus ventas también fueran desconocida ( null) se
debe mostrar cero (o) en lugar de null. Sugerencia utilizar la cláusula
COALESCE

select repventas.nombre, coalesce(cuota,ventas,0)


from repventas

45 Añadir tres oficinas a la tabla oficinas, una en Bucaramanga dirigida por


108, otra en Floridablanca dirigida por el representante bill Adams y otra en
girón dirigida por el mismo representante que es el director de la oficina 12.

insert into oficinas VALUES (15,'Bucaramanga','Este',108, 350000, 250354);


insert into oficinas VALUES (16,'Floridablanca','Oeste',( select
num_empleado
from repventas
where nombre = 'Bill Adams'),400000,200000);
insert into oficinas VALUES (17,'Giron','Este',( select num_empleado
from repventas,oficinas
where oficina = 12 and dir = num_empleado),200000,158000);
47. Mostrar todos los productos para que los que hay pedidos superiores a
30000 o el valor total de sus existencias es superior a 30000

select distinct pedidos.fab, pedidos.producto


from pedidos, productos
where importe > 30000
union
select productos.id_fab, productos.id_producto
from productos
where (productos.precio*productos.existencia) > 30000

49. Mostrar todos los productos para los que hay pedidos superiores a 30000
excepto los que se venden por lo menos de 100.

select productos.id_fab, productos.id_producto


from productos
where productos.precio < 100
except
select pedidos.fab , pedidos.producto
from pedidos
where importe > 30000

También podría gustarte