Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/03/2015, 09:06
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: consulta basica

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. id INT,
  4. facturacion INT,
  5. mes INT,
  6. [YEAR] INT
  7. )
  8.  
  9. INSERT INTO #temp VALUES (1,10,1,2012)
  10. INSERT INTO #temp VALUES (1,20,3,2012)
  11. INSERT INTO #temp VALUES (1,50,6,2012)
  12. INSERT INTO #temp VALUES (1,30,9,2012)
  13.  
  14. INSERT INTO #temp VALUES (2,10,9,2012)
  15. INSERT INTO #temp VALUES (2,20,10,2012)
  16. INSERT INTO #temp VALUES (2,60,11,2012)
  17.  
  18. --Aqui sacas el max, pero sin saber el mes
  19. SELECT
  20. id,MAX(facturacion),[YEAR] FROM #temp GROUP BY [YEAR],id
  21.  
  22.  
  23. --Si ocupas saber el mes, entonces puedes hacer algo como esto
  24. SELECT t1.* FROM #temp AS t1
  25. LEFT JOIN (SELECT
  26. id,MAX(facturacion) fact,[YEAR] FROM #temp GROUP BY [YEAR],id) AS t2 ON (t1.id=t2.id AND t1.facturacion=t2.fact AND t1.[YEAR]=t2.[YEAR])
  27. WHERE t2.id IS NOT NULL
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me