あなたがやりたいことはピボットと呼ばれます
このコードを使用してみてください
SELECT employeeid ,case when [2018-10-1] > 0 then '1' else '' end as [2018-10-1] ,case when [2018-10-2] > 0 then '1' else '' end as [2018-10-2] ,case when [2018-10-3] > 0 then '1' else '' end as [2018-10-3] FROM( SELECT employeeid , TranDate , 1 as num FROM History WHERE (CAST(trandate as DATE) = '2018-10-1' or CAST(trandate as DATE) = '2018-10-2' or CAST(trandate as DATE) = '2018-10-3' ) ) PIVOT( COUNT(num) FOR TranDate IN ([2018-10-1],[2018-10-2],[2018-10-3]) ) as pvt
プレ>PIVOT、UNPIVOT SQL また、transdate フィールドにもっと動的なものが必要な場合は、 を確認できます動的ピボット