supongamos que tengo dos tablas. artículos y comentarios.sql - left join - count
cuando estoy seleccionando las columnas de la tabla artículos, yo también deseo seleccionar el número de observaciones sobre el artículo en la misma instrucción SELECT ... (supongamos que el campo común entre estas dos tablas es articleid)
cómo ¿Hago eso? Puedo hacerlo, pero no sé si mi camino sería eficiente, así que quiero aprender de la manera correcta.
Solo agregar grupos no siempre es lo mejor que se puede hacer. Veo que las personas escriben consultas con 100s (ok no 100s pero MUCHO) de columnas en su cláusula group by porque no saben cómo usar los agregados correctamente. Es por eso que publiqué una solución usando una subconsulta. – JonH
@JonH: SQL Server (entre otros DB) similar no le permitirá listar/devolver columnas que no están envueltas en funciones agregadas (a menos que se utilicen funciones analíticas) sin definirlas dentro de la cláusula 'GROUP BY'. Si omite la cláusula 'GROUP BY', ** recibirá ** un error en SQL Server en función de lo que se proporciona. MySQL es el único DB que admite dicha funcionalidad, y no es estándar: http://dev.mysql.com/doc/refman/5.0/en/group-by-hidden-columns.html –
Sé que mi punto fue mucha gente que no entiende cómo funcionan los grupos y los agregados. He visto personas agrupadas por cientos de columnas solo para obtener lo que creen que podría ser el resultado correcto. – JonH