sql >> Databáze >  >> RDS >> Sqlserver

SQL Server 2005 vyplní kontingenční tabulku 0s

Použili byste ISNULL() funkce. Viz SQL Fiddle

SELECT 'lessonid          response ->'
   , isnull([0], 0) as [0]
  , isnull([1], 0) as [1]
  , isnull([2], 0) as [2]
  , isnull([3], 0) as [3]
  , isnull([4], 0) as [4]
FROM (
    SELECT lessonid AS 'lessonid          response ->'
        ,ISNULL(response,0) as response
        ,count(response) AS respcnt
    FROM tblRChoices
    GROUP BY lessonid
        ,response
    ) TableResponse
PIVOT(SUM(respcnt) FOR response IN (
            [0]
            ,[1]
            ,[2]
            ,[3]
            ,[4]
            )) ResponsePivot



  1. Pomohlo by přidat index do sloupce BIGINT v MySQL?

  2. MySQL, zřetězit dva sloupce

  3. MySQL:zachovat časové pásmo serveru nebo časové pásmo uživatele?

  4. Použití Workbench pro připojení ke vzdálenému serveru MySQL přes SSH tunel