quizas esto te ayude
Código SQL:
Ver originalCREATE TABLE #temp
(
id INT,
nombre VARCHAR(20),
desc1 VARCHAR(20),
desc2 VARCHAR(20)
)
INSERT INTO #temp VALUES (1,'PRODUCTO','CAMISETAS','OTRO Valor')
INSERT INTO #temp VALUES (2,'PRODUCTO','CAMISETAS',NULL)
INSERT INTO #temp VALUES (3,'PRODUCTO',NULL,NULL)
SELECT top 1 * FROM(
SELECT cuantos+cuantos2+cuantos3 AS total,nombre,desc1,desc2 FROM (
SELECT CASE WHEN isnull(nombre,'')='' THEN SUM(0) ELSE SUM(1) END AS cuantos,
CASE WHEN isnull(desc1,'')='' THEN SUM(0) ELSE SUM(1) END AS cuantos2,
CASE WHEN isnull(desc2,'')='' THEN SUM(0) ELSE SUM(1) END AS cuantos3,
nombre,desc1,desc2 FROM #temp
GROUP BY nombre,desc1,desc2)t1
)t2 ORDER BY total DESC