SELECT 1 AS Col1, 'MT' AS Col2, 30 AS Col3, 'UK' AS Col4, 0 AS Col5, 70 AS Col6, 'FR' AS Col7
INTO #tmpX
union ALL
SELECT 2 AS Col1, 'SM' AS Col2, 30 AS Col3, 'IL' AS Col4, 0 AS Col5, 0 AS Col6, 'PS' AS Col7
SELECT Identity(int, 1, 1) AS ID, *
INTO #tmpResult
FROM (
SELECT Col1 AS JoinID, 'Col1' AS Col1, Col2, Col4 AS Col3, case when Col5 = 0 then 'Yes' else 'No' end AS Col4
FROM #tmpX
union ALL
SELECT Col1 AS JoinID, 'Col3' AS Col1, Col2, Col4 AS Col3, case when Col6 = 0 then 'Yes' else 'No' end AS Col4
FROM #tmpX
) X
ORDER BY JoinID
SELECT * FROM #tmpResult
DROP TABLE #tmpResult
DROP TABLE #tmpX