Buen día, actualmente tengo una duda respecto a un ejercicio propuesto en el curso de Consultas SQL: Avanzando en SQL con MySQL.
El problema en cuestion es:
En la tabla de facturas tenemos el valor del impuesto. En la tabla de ítems tenemos la cantidad y la facturación. Calcula el valor del impuesto pago en el año de 2016 redondeando al menor entero.
Mi respuesta es la siguiente:
SELECT YEAR(B.FECHA_VENTA) AS FECHA, FLOOR(SUM((A.CANTIDAD*A.PRECIO)*B.IMPUESTO)) AS TOTAL_IMPUESTO FROM items_facturas A INNER JOIN facturas B ON A.NUMERO=B.NUMEROWHERE YEAR(B.FECHA_VENTA) = "2016" GROUP BY YEAR(B.FECHA_VENTA);
Y la respuesta al problema en cuestión es:
SELECT YEAR(FECHA_VENTA), FLOOR(SUM(IMPUESTO * (CANTIDAD * PRECIO))) AS RESULTADO FROM facturas F INNER JOIN items_facturas IFa ON F.NUMERO = IFa.NUMERO WHERE YEAR(FECHA_VENTA) = 2016 GROUP BY YEAR(FECHA_VENTA);
Es similar, sin embargo veo que en la respuesta que brinda el profesor no aplica un alias para las tablas que hacen el INNER JOIN, entonces mi duda surge en si hay algo que estoy saltando por completo o si simplemente en ese caso el alias es opcional. Tengo entendido que es necesario hacerlo para especificar que columna y de que tabla queremos usar entonces pues me entra esa duda.
Agradeceria a cualquiera que me pudiera dar un poco de información al respecto, mil gracias.