Hi,
I think following code block can help you..
WITH MODCTE AS (
SELECT Model1,Model2,Model3,Model4,Model5,Model6,Model7,
Row_Number() OVER( ORDER BY Model1) ROWNUM FROM compatableModel
), ResultCTE AS (
SELECT SpareId,SpareCode,Model1,Model2,Model3,Model4,Model5,Model6,Model7
FROM (SELECT SpareId,SpareCode,Row_NUMBER() OVER(ORDER BY SpareId) ROWNUM FROM Spare
) A
JOIN MODCTE ON MODCTE.ROWNUM = A.ROWNUM
)
SELECT * INTO SpareModel FROM (
SELECT SpareId,Model,ModelNo FROM ResultCTE
UNPIVOT
(
ModelNo FOR Model IN
( Model1,Model2,Model3,Model4,Model5,Model6,Model7) ) As UP
) As A
SELECT * FROM SpareModel