Ejemplos con IA

<< 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;