Trabajo SQL


A)  A) Obtener un listado de clientes de la ciudad de Córdoba con saldo superior a su límite de crédito o que tengan su cuenta corriente suspendida. Esto último sin importar la ciudad donde residan.
SELECT* 
FROM CLIENTES 
WHERE saldo_actual>limite_credito 
AND ciudad_cli=”cordoba” OR ctacte_susp=”S”

B)  B) Obtener un listado de clientes con saldo superior a su límite de crédito y que residan en el barrio Centro o Alto Alberdi de la ciudad de Córdoba.
SELECT* 
FROM CLIENTES 
WHERE saldo_actual>limite_credito 
AND ciudad_cli=”cordoba” AND(barrio_cli LIKE “barrio centro” OR barrio_cli LIKE “alto alberdi”

C) C) Obtener un listado de los comprobantes del vendedor Martínez. Indicar nombre del cliente, prefijo y número del comprobante e importe total.
SELECT nombre_cliente, prefijo_comprobante, numero_comprobante, importe_total
FROM CTACTE, VENDEDORES
WHERE CTACTE.id_vendedor = VENDEDORES.id_vendedor
AND apellido_vendedor LIKE "Martínez"

    D) Obtener el mismo listado anterior pero mostrando también la descripción del tipo de movimiento (tabla TIPOS_MOVIMIENTO).
SELECT nombre_cliente, prefijo_comprobante, numero_comprobante, importe_total,
desc_tipo_movim
FROM CTACTE, VENDEDORES, TIPOS_MOVIMIENTOS
WHERE CTACTE.id_vendedor = VENDEDORES.id_vendedor
AND CTACTE.id_tipo_movim = TIPOS_MOVIMIENTOS.id_tipo_movim
AND apellido_vendedor LIKE "Martínez"

E) E) Obtener un listado del nombre y apellido de aquellos vendedores que hicieron ventas por sobre el limite de crédito asignado a los clientes, identificando además los nombres de los clientes que se encuentran en esa situación, su saldo actual, el límite de crédito, y el exceso de crédito (diferencia entre límite de crédito y saldo actual). Ordenar la información por exceso de crédito.
SELECT apellido_vendedor, nombre_vendedor, nombre_cliente, saldo_actual, limite_credito,
limite_credito - saldo_actual AS exceso_credito
FROM VENDEDORES, CLIENTES
WHERE VENDEDORES.id_vendedor = CLIENTES.id_vendedor
AND saldo_actual > limite_credito
ORDER BY limite_credito - saldo_actual

F) F) Obtener el movimiento de cuenta corriente número 9920. Mostrar todos los campos de la tabla CTACTE.
SELECT * 
FROM CTACTE 
WHERE nro_movim_ctacte = 9920

G) G) Obtener el detalle del movimiento de cuenta corriente número 9920. Mostrar todos los campos de la tabla DETALLE_MOVIM_CTACTE.
SELECT *
FROM DETALLE_MOVIM_CTACTE
WHERE nro_movim_ctacte = 9920

H) H) Obtener el detalle del movimiento de cuenta corriente número 9920. Mostrar descripción del artículo, cantidad y precio. Relacionar con la tabla INVENTARIO.
SELECT descripcion_producto, DETALLE_MOVIM_CTACTE .cantidad, precio
FROM DETALLE_MOVIM_CTACTE, INVENTARIO
WHERE DETALLE_MOVIM_CTACTE.id_producto = INVENTARIO.id_producto
AND nro_movim_ctacte = 9920

I) I) Explique por qué en el segundo caso sólo se listan dos registros, mientras que en el primero (cuando no se incluye la descripción de los artículos) se muestran más de 2 registros para el movimiento 9920.
Porque existen inconsistencias en la base de datos.

J)  J) Obtenga la sumatoria de todos los saldos de los clientes. (Saldo total a cobrar de clientes)
SELECT SUM(saldo_actual) AS saldo_total
FROM CLIENTES

K)  K) Obtenga el saldo promedio de los clientes, sin incluir los que tienen saldo cero o negativo.
SELECT AVG(saldo_actual)
FROM CLIENTES
WHERE saldo_actual > 0

L)  L) Obtenga el mayor saldo adeudado por un cliente.
SELECT MAX(saldo_actual)
FROM CLIENTES

     M) Se desea conocer la cantidad de clientes que tiene asignado cada vendedor.
SELECT id_sector, SUM(saldo_actual) AS saldo
FROM CLIENTES
GROUP BY id_sector

N)  N) Realice el mismo ejercicio anterior pero mostrando además el apellido y nombre del vendedor. Ordenar el listado alfabéticamente por apellido de vendedor.
SELECT CLIENTES.id_vendedor, nombre_vendedor, apellido_vendedor, COUNT “ FROM CLIENTES, VENDEDORES WHERE CLIENTES.id_vendedores=VENDEDORES.id_vendedores GROUP BY id_vendedores ORDER BY apellido_vendedor

  O) Obtenga el importe del Débito Fiscal de IVA devengado en el período noviembre de 2000.
SELECT SUN(IVA) 
FROM CTACTE, TIPOS MOVIMIENTOS 
WHERE CTACTE.id_tipo_movim=TIPOS MOVIMIENTOS.id_tipo_movim and fecha_comprobante BETWEEN “2000-11-01” 
AND “2000-11-30” AND desc_tipo_movim LIKE “%factura%”

P)  P) Obtenga un listado de IVA Ventas que respalde el importe anterior.
SELECT fecha_comprobante, detalle, prefijo_comprobante, numero_comprobante, letra_comprobante, nombre_cliente, cuit, tipo_iva, neto_grabado, neto_no_grabado, iva, importe_total 
FROM CTACTE, TIPOS_MOVIMIENTOS 
WHERE CTACTE.id_tipo_movim=TIPOS_MOVIMIENTOS.id_tipo_movim 
AND fecha_comprobante BETWEEN “2000-11-01” AND “2000-11-30” 
AND desc_tipo_movim LIKE “%factura%” ORDER BY fecha_comprobante