1
respuesta

Listando con expresión natural

SELECT concat("El cliente ", TC.NOMBRE, " facturo ", F.TOTAL_FACTURADO, " en el año 2016") as RESPUESTA
FROM tabla_de_clientes TC
INNER JOIN (
    SELECT F.DNI, ROUND(SUM(FI.CANTIDAD * FI.PRECIO),2) AS TOTAL_FACTURADO
    FROM facturas F
    INNER JOIN items_facturas FI
    ON F.NUMERO = FI.NUMERO
    WHERE YEAR(F.FECHA_VENTA) = 2016
    GROUP BY F.DNI
)AS F
ON TC.DNI = F.DNI;

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

Hola Andres,

Por lo que veo, tu consulta SQL parece estar bien estructurada y debería devolver los resultados esperados. Pero parece que estás teniendo problemas con la visualización de los resultados.

Tu consulta SQL concatena varias columnas y valores en una sola cadena de texto para cada registro. Esto debería funcionar bien en la mayoría de los sistemas de gestión de bases de datos. Sin embargo, la captura de pantalla que proporcionaste no muestra ningún resultado, lo cual es extraño.

Una posible causa de este problema podría ser que no hay registros que cumplan con las condiciones especificadas en tu consulta. Específicamente, la condición WHERE YEAR(F.FECHA_VENTA) = 2016 en tu subconsulta podría no estar devolviendo ningún resultado si no hay facturas que se vendieron en el año 2016.

Para verificar esto, podrías ejecutar la subconsulta por separado para ver si devuelve algún resultado:

SELECT F.DNI, ROUND(SUM(FI.CANTIDAD * FI.PRECIO),2) AS TOTAL_FACTURADO
FROM facturas F
INNER JOIN items_facturas FI
ON F.NUMERO = FI.NUMERO
WHERE YEAR(F.FECHA_VENTA) = 2016
GROUP BY F.DNI;

Si esta consulta no devuelve ningún resultado, entonces sabrás que el problema está en los datos de tu base de datos y no en tu consulta SQL.

Espero que esto te ayude a identificar y resolver el problema. Recuerda, la depuración es una parte importante del desarrollo y la gestión de bases de datos, así que no te desanimes si las cosas no funcionan como se espera en el primer intento.

Espero haber ayudado y ¡buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios! :)