Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/05/2013, 15:08
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: Valores Repetidos (Dejar una cifra real y demás en 0) [CASE]

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. id INT,
  4. fiesta VARCHAR(20),
  5. consumo VARCHAR(50)
  6. )
  7.  
  8. INSERT INTO #temp VALUES (1,                            'BODA',                                 'BUFFET')
  9. INSERT INTO #temp VALUES (33,                          'BODA',                           'BUFFET P.')
  10. INSERT INTO #temp VALUES (20,                          'BODA',                                  '2 CERVEZAS')
  11. INSERT INTO #temp VALUES (1,                            'BODA2',                                 'BUFFET')
  12. INSERT INTO #temp VALUES (33,                          'BODA2',                           'BUFFET P.')
  13. INSERT INTO #temp VALUES (20,                          'BODA2',                                  '2 CERVEZAS')
  14. INSERT INTO #temp VALUES (21,                            'BODA2',                                 'BUFFET')
  15. INSERT INTO #temp VALUES (22,                          'BODA2',                           'BUFFET P.')
  16. INSERT INTO #temp VALUES (34,                          'BODA2',                                  '2 CERVEZAS')
  17. INSERT INTO #temp VALUES (21,                            'BODA2',                                 'BUFFET')
  18. INSERT INTO #temp VALUES (22,                          'BODA2',                           'BUFFET P.')
  19. INSERT INTO #temp VALUES (34,                          'BODA2',                                  '2 CERVEZAS')
  20.  
  21.  
  22.  
  23. SELECT *,
  24. CASE WHEN (SELECT top 1 id FROM #temp GROUP BY id,fiesta)=id THEN
  25. (
  26. SELECT total FROM (SELECT COUNT(id) total,fiesta FROM #temp GROUP BY fiesta) AS t1 WHERE t1.fiesta=#temp.fiesta
  27. ) ELSE 0 END AS total FROM #temp GROUP BY id,fiesta,consumo

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me