|
<< Haga clic para mostrar la tabla de contenido >> Navegación: Sucursales > Consolidados Integrados > Consultas SQL > Generador de Consultas SQL con IA > Ejemplos con IA |
Ejemplo de consulta de Ventas
Entre mas detalle indique en el prompt mejor será el resultado.
NIVEL |
PROMPT |
RESULTADO EN SQL |
BASICO |
Genera la lista de Clientes con saldo, incluye Nombre, RFC, Telefono y Saldo Actual |
SELECT c.NOMBRE, c.RFC, c.TELEFONO, c.SALDO FROM CLIENTE c WHERE c.SALDO > 0 |
Genera la lista de Clientes con saldo, incluye Nombre, RFC, Telefono y Saldo Actual.
Solo incluye aquellos que no hayan comprado nada desde hace 1 año |
SELECT c.NOMBRE, c.RFC, c.TELEFONO, c.SALDO FROM CLIENTE c WHERE c.SALDO > 0 AND c.ULTIMAVENTA < DATEADD(YEAR, -1, CURRENT_DATE) AND (c.DADOBAJA IS NULL OR c.DADOBAJA = 'F'); |
|
Genera el Top 10 de Clientes |
SELECT FIRST 10 'Local' as SUCURSAL, c.NOMBRE AS NombreCliente, SUM(p.TOTAL) AS TotalVentas FROM PEDIDO p JOIN CLIENTE c ON p.NUCLIENTE = c.NUCLIENTE WHERE p.NUTIPOVENTA IN (1, 2, 3, 6, 7) AND (p.FACTURA IS NOT NULL OR p.NUTICKET IS NOT NULL OR p.NUREMISION IS NOT NULL) GROUP BY c.NUCLIENTE, c.NOMBRE ORDER BY SUM(p.TOTAL) DESC |
|
Genera una consulta donde me muestres la lista de productos vendidos que tiene IVA o IEPS, que se vendieron el Mes de Enero de 2025, incluye la Clave del Producto, Descripcion,y la Unidad de Medida, Subtotal y los impuestos. Deben estar con Folio de Factura o Ticket. |
SELECT pm.N123 AS "Clave del Producto", prod.DESCRIPCION AS "Descripcion del Producto", m.DESCRIPCION AS "Unidad de Medida", pm.SUBTOTAL AS "Subtotal", pm.TOTAL_IVA AS "IVA", pm.TOTAL_IEPS AS "IEPS" FROM PEDIDO_MOV pm JOIN PEDIDO p ON pm.NUPEDIDO = p.NUPEDIDO JOIN PRODUCTO prod ON pm.N123 = prod.N123 JOIN MEDIDA m ON pm.VNUMEDIDA = m.NUMEDIDA WHERE (p.FACTURA IS NOT NULL OR p.NUTICKET IS NOT NULL) AND (pm.TOTAL_IVA > 0 OR pm.TOTAL_IEPS > 0) AND p.FECHA BETWEEN '01/01/2025' AND '01/31/2025' |
|
¿Qué facturas están vencidas más de 30 días de los clientes? |
SELECT c.NOMBRE_CLIENTE, c.SERIE, c.FACTURA, c.SERIE_TICKET, c.NUTICKET, c.SERIE_REMISION, c.REMISION, c.FECHA AS FECHA_DOCUMENTO, c.FECHAPAGO AS FECHA_VENCIMIENTO, c.DEUDA AS SALDO_PENDIENTE, c.DIASCREDITO AS DIAS_CREDITO_OTORGADOS FROM CLIENTE_MOV_DEUDA c WHERE c.DEUDA > 0 AND c.FECHAPAGO < (CURRENT_DATE - 30); |
|
Crear una consulta que muestre: - Los 10 mejores clientes del último trimestre - Con su nombre completo, email, ciudad - Total de órdenes realizadas - Ordenado por monto total descendente |
SELECT FIRST 10 'Local' as SUCURSAL, c.NOMBRE, c.MAIL, c.CIUDAD, COUNT(p.NUPEDIDO) AS TotalOrdenes, SUM(p.TOTAL) AS TotalMonto FROM CLIENTE c JOIN PEDIDO p ON c.NUCLIENTE = p.NUCLIENTE WHERE p.FECHA >= DATEADD(MONTH, -3, CURRENT_DATE) GROUP BY c.NOMBRE, c.MAIL, c.CIUDAD ORDER BY TotalMonto DESC; |
|
AVANZADO |
Genera una consulta donde se promedie las Ventas por Cliente el Año 1 y se promedie mensualmente y se compare con el Mes elegido del Año 2 y muestre todos aquellos clientes que sus ventas disminuyeron 30% de un año a otro
|
SELECT DISTINCT 'Local' as SUCURSAL, c.NUCLIENTE, c.NOMBRE, COALESCE(t1.PROMEDIO_MENSUAL_ANIO1, 0) AS PROMEDIO_MENSUAL_ANIO1, COALESCE(t2.VENTAS_MES_ANIO2, 0) AS VENTAS_MES_ANIO2 FROM CLIENTE c LEFT JOIN ( SELECT p.NUCLIENTE, AVG(p.TOTAL_MENSUAL) AS PROMEDIO_MENSUAL_ANIO1 FROM ( SELECT p1.NUCLIENTE, EXTRACT(MONTH FROM p1.FECHA) AS MES_VENTA, SUM(p1.TOTAL) AS TOTAL_MENSUAL FROM PEDIDO p1 WHERE (p1.NUTIPOVENTA IN (1, 2, 3, 6, 7)) AND (p1.FACTURA IS NOT NULL OR p1.NUTICKET IS NOT NULL OR p1.NUREMISION IS NOT NULL) AND (EXTRACT(YEAR FROM p1.FECHA) = :int_Year1) GROUP BY p1.NUCLIENTE, EXTRACT(MONTH FROM p1.FECHA) ) p GROUP BY p.NUCLIENTE ) t1 ON c.NUCLIENTE = t1.NUCLIENTE LEFT JOIN ( SELECT p2.NUCLIENTE, SUM(p2.TOTAL) AS VENTAS_MES_ANIO2 FROM PEDIDO p2 WHERE (p2.NUTIPOVENTA IN (1, 2, 3, 6, 7)) AND (p2.FACTURA IS NOT NULL OR p2.NUTICKET IS NOT NULL OR p2.NUREMISION IS NOT NULL) AND (EXTRACT(YEAR FROM p2.FECHA) = :int_Year2) AND (EXTRACT(MONTH FROM p2.FECHA) = :int_Month) GROUP BY p2.NUCLIENTE ) t2 ON c.NUCLIENTE = t2.NUCLIENTE WHERE COALESCE(t1.PROMEDIO_MENSUAL_ANIO1, 0) > 0 AND COALESCE(t2.VENTAS_MES_ANIO2, 0) < (COALESCE(t1.PROMEDIO_MENSUAL_ANIO1, 0) * 0.70) ORDER BY c.NOMBRE; |