Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/09/2013, 15: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: SELECT de la fila mas completa

Asi :)

Código SQL:
Ver original
  1. DROP TABLE #temp
  2. CREATE TABLE #temp
  3. (
  4. id INT,
  5. nombre VARCHAR(20),
  6. desc1 VARCHAR(20),
  7. desc2 VARCHAR(20)
  8. )
  9.  
  10. INSERT INTO #temp VALUES (1,'PRODUCTO','CAMISETAS','OTRO Valor')
  11. INSERT INTO #temp VALUES (2,'PRODUCTO','CAMISETAS',NULL)
  12. INSERT INTO #temp VALUES (3,'PRODUCTO',NULL,NULL)
  13. INSERT INTO #temp VALUES (4,'PRODUCTO 2','PANTALON','OTRO Valor')
  14. INSERT INTO #temp VALUES (5,'PRODUCTO 2','PANTALON',NULL)
  15.  
  16. DROP TABLE #temp2
  17.  
  18. SELECT nombre,total,desc1,desc2 INTO #temp2 FROM(
  19. SELECT cuantos+cuantos2+cuantos3 AS total,nombre,desc1,desc2 FROM (
  20. SELECT CASE WHEN isnull(nombre,'')='' THEN SUM(0) ELSE SUM(1) END AS cuantos,
  21. CASE WHEN isnull(desc1,'')='' THEN SUM(0) ELSE SUM(1) END AS cuantos2,
  22. CASE WHEN isnull(desc2,'')='' THEN SUM(0) ELSE SUM(1) END AS cuantos3,
  23. nombre,desc1,desc2 FROM #temp
  24. GROUP BY nombre,desc1,desc2)t1
  25. )t2  
  26.  
  27.  
  28. SELECT * FROM #temp2 WHERE CONVERT(VARCHAR(20),total) + '|' + nombre IN (
  29. SELECT CONVERT(VARCHAR(20),MAX(total)) + '|' + nombre FROM #temp2 GROUP BY nombre
  30. )
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me