Guest User

Untitled

a guest
Dec 14th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. CREATE TABLE temp
  2. (
  3. estadoId char(02),
  4. valor int
  5. )
  6.  
  7. INSERT INTO temp VALUES ('SP', 1)
  8. INSERT INTO temp VALUES ('SP', 2)
  9. INSERT INTO temp VALUES ('SP', 3)
  10. INSERT INTO temp VALUES ('RJ', 1)
  11. INSERT INTO temp VALUES ('RJ', 2)
  12. INSERT INTO temp VALUES ('XX', 1)
  13. INSERT INTO temp VALUES ('XX', 3)
  14. INSERT INTO temp VALUES ('XX', 3)
  15. INSERT INTO temp VALUES ('XX', 3)
  16. INSERT INTO temp VALUES ('XX', 3)
  17.  
  18. SELECT estadoID, COUNT(1)
  19. FROM a_sua_tabela
  20. GROUP BY estadoID
  21. ORDER BY estadoID
  22.  
  23. estadoID NumeroRegistos
  24. RJ 2
  25. SP 3
  26. XX 5
  27.  
  28. DECLARE @cols AS NVARCHAR(MAX),
  29. @query AS NVARCHAR(MAX);
  30.  
  31. SET @cols = STUFF((SELECT DISTINCT',' + QUOTENAME(c.estadoId)
  32. FROM temp c
  33. FOR XML PATH(''), TYPE
  34. ).value('.', 'NVARCHAR(MAX)')
  35. ,1,1,'')
  36.  
  37. SET @query = 'SELECT ' + @cols + ' FROM
  38. (
  39. SELECT estadoId, valor
  40. FROM temp
  41. ) x
  42. PIVOT
  43. (
  44. COUNT(valor)
  45. FOR estadoID IN(' + @cols + ')
  46. ) p '
  47.  
  48. EXECUTE(@query)
  49.  
  50. RJ SP XX
  51. 2 3 5
Add Comment
Please, Sign In to add comment