Следующий запрос является косвенным, также выход имеет нулевые значения, которые не удовлетворяют условию, попробуйте
SELECT
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '01') THEN `tablename`.`id`
ELSE NULL
END) AS `jan_2019`,
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '02') THEN `tablename`.`id`
ELSE NULL
END) AS `feb_2019`,
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '03') THEN `tablename`.`id`
ELSE NULL
END) AS `mar_2019`,
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '04') THEN `tablename`.`id`
ELSE NULL
END) AS `apr_2019`,
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '05') THEN `tablename`.`id`
ELSE NULL
END) AS `may_2019`,
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '06') THEN `tablename`.`id`
ELSE NULL
END) AS `jun_2019`,
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '07') THEN `tablename`.`id`
ELSE NULL
END) AS `jul_2019`,
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '08') THEN `tablename`.`id`
ELSE NULL
END) AS `aug_2019`,
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '09') THEN `tablename`.`id`
ELSE NULL
END) AS `sep_2019`,
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '10') THEN `tablename`.`id`
ELSE NULL
END) AS `oct_2019`,
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '11') THEN `tablename`.`id`
ELSE NULL
END) AS `nov_2019`,
(CASE
WHEN (SUBSTR(`tablename`.`dd`, 6, 2) = '12') THEN `tablename`.`id`
ELSE NULL
END) AS `dec_2019`
FROM
`tablename`;