Hi @ahmed salah
Please check the query below:
DECLARE @sql VARCHAR(MAX)
DECLARE @Orignal_Columns VARCHAR(MAX)
DECLARE @Recomend_Columns VARCHAR(MAX)
DECLARE @All_Columns VARCHAR(MAX)
SELECT @Orignal_Columns=ISNULL(@Orignal_Columns+',','')+QUOTENAME(FeatureName)
FROM #partsrecomendation P JOIN #TechnologyPlPartsFeaturValues T ON P.OrignalPartId=T.PartID
GROUP BY FeatureName
--PRINT @Orignal_Columns
SELECT @Recomend_Columns=ISNULL(@Recomend_Columns+',','')+QUOTENAME(FeatureName)
FROM #partsrecomendation P JOIN #TechnologyPlPartsFeaturValues T ON P.RecomendationPartId=T.PartID
GROUP BY FeatureName
--PRINT @Recomend_Columns
SELECT @All_Columns=ISNULL(@All_Columns+',','')+QUOTENAME(FeatureName)
FROM #TechnologyPlPartsFeaturValues
GROUP BY FeatureID,FeatureName
ORDER BY FeatureID
--PRINT @All_Columns
SET @sql=N'
;WITH Orignal AS
(
SELECT * FROM (SELECT OrignalPartId,[FeatureName], [FeatureValue]
FROM #partsrecomendation P JOIN #TechnologyPlPartsFeaturValues T ON P.OrignalPartId=T.PartID)O
PIVOT(MAX(FeatureValue)FOR FeatureName IN('+@Orignal_Columns+'))P
),Recomend AS
(
SELECT * FROM (SELECT RecomendationPartId,[FeatureName], [FeatureValue]
FROM #partsrecomendation P JOIN #TechnologyPlPartsFeaturValues T ON P.RecomendationPartId=T.PartID)R
PIVOT(MAX(FeatureValue)FOR FeatureName IN('+@Recomend_Columns+'))P
)
SELECT P.*,'+@All_Columns+'
FROM #partsrecomendation P JOIN Orignal O ON P.OrignalPartId=O.OrignalPartId
JOIN Recomend R ON P.RecomendationPartId=R.RecomendationPartId
'
EXEC (@sql)
Output:
This output is a little bit different from your results, but I think it is caused by the insert datas, as I commented above.
Best regards,
LiHong
Hi @ahmed salah
The sample data you provide seems to contradict your expected result.
For example, you have these two different fearture_names and fearture_values in your insert datas:
N'Program Memory TypeRecomended', N'Electricity'
&N'ProgramMemoryRecomended', N'Light'
But you want them belong to the same column:
If I misunderstand something, please correct me.
Best regards,
LiHong
thanks much for support
this feature Program Memory TypeRecomended
is wrong
i write it wrong
correct must be ProgramMemoryRecomended
Then please check my answer below, which is still work for you.
After updating the sample datas, i got this Output:
Best regards,
LiHong
Hi @ahmed salah
Is this issue solved now? If you have any questions, please feel free to share with us.
And don't forget to accept the answers if they helped. Your action would be helpful to other users who encounter the same issue and read this thread.
Best regards,
LiHong
Sign in to comment