Estimados, Tengo una duda con la solucion sugerida para la actvidad 11 "Relación entre HAVING y Subconsulta" en la clase 4 "Uniendo tablas y consultas" del curso de Consultas en SQL:
Esta es la consulta original que se solicita reformular con subconsulta:
``
SELECT DNI, COUNT(*) FROM facturas
WHERE YEAR(FECHA_VENTA) = 2016
GROUP BY DNI
HAVING COUNT(*) > 2000;
Y esta es la solucion equivalente sugerida:
SELECT X.DNI, X.CANTIDAD_FACTURAS FROM
(SELECT DNI, COUNT(*) AS CANTIDAD_FACTURAS FROM facturas
WHERE YEAR(FECHA_VENTA) = 2016
GROUP BY DNI) X
WHERE CANTIDAD_FACTURAS > 2000;
Ahora bien, a mi me ha funcionado bien también esta otra:
SELECT X.DNI, X.CANTIDAD_FACTURAS FROM
(SELECT DNI, COUNT(*) AS CANTIDAD_FACTURAS FROM facturas
WHERE YEAR(FECHA_VENTA) = 2016
GROUP BY DNI) X
HAVING CANTIDAD_FACTURAS > 2000;
Es decir utilizando HAVING. La pregunta es ¿es correcto usar HAVIN?¿es mas adecuado utilizar WHERE? y, en ese caso ¿por qué?
Gracias!!