Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] Error al correr SQL

Alguien podria ayudarme? Cuando ejecuto el programa me lanza este error y no se como solucionarlo

SELECT CONCAT('El cliente ',TC.NOMBRE,'facturo ',CONVERT(SUM(ITF.CANTIDAD*ITF.PRECIO),CHAR(20)),'en el anio ',CONVERT(YEAR(F.FECHA_VENTA),CHAR(20))) AS FRASE FROM facturas F INNER JOIN tabla_de_clientes TC ON TC.DNI=F.DNI INNER JOIN items_facturas ITF ON F.NUMERO=ITF.NUMERO WHERE YEAR(FECHA_VENTA)=2016 GROUP BY TC.NOMBRE LIMIT 0, 1000 Error Code: 1055. Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'jugos_ventas.F.FECHA_VENTA' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 0.016 sec

1 respuesta

¡Hola Felipe!

El error que estás experimentando se debe a que estás utilizando la función de agregación SUM() en una columna que no está incluida en la cláusula GROUP BY. En este caso, la columna FECHA_VENTA no está incluida en la cláusula GROUP BY, pero la estás utilizando en la función SUM().

Para solucionar este problema, puedes agregar la columna FECHA_VENTA a la cláusula GROUP BY de la siguiente manera:

SELECT CONCAT('El cliente ', TC.NOMBRE, ' facturó ', CONVERT(SUM(ITF.CANTIDAD*ITF.PRECIO), CHAR(20)), ' en el año ', CONVERT(YEAR(F.FECHA_VENTA), CHAR(20))) AS FRASE
FROM facturas F
INNER JOIN tabla_de_clientes TC ON TC.DNI = F.DNI
INNER JOIN items_facturas ITF ON F.NUMERO = ITF.NUMERO
WHERE YEAR(FECHA_VENTA) = 2016
GROUP BY TC.NOMBRE, F.FECHA_VENTA
LIMIT 0, 1000

Espero haber ayudado y ¡buenos estudios!