something like:-SELECT AttributeID,ItemID,ParameterINTo #ParametersFROM(SELECT a.AttributeID,a.ItemID,CASE WHEN Parameter1InUse=1 THEN Parameter1TitleELSE NULL END AS P1Title,CASE WHEN Parameter2InUse=1 THEN Parameter2TitleELSE NULL END AS P2Title,....FROM AttributeMap amJOIN Attributes aON a.AttributeId = am.AttributeIDJOIN AttributeValue avON av.AddtibuteValueID = am.AttibuteValueIDWHERE am.AttributeID = @AttributeIDAND am.ItemID = @ItemID)tUNPIVOT(Parameter FOR Title in ([P1Title],[P2Title],...))uSELECT AttributeID,ItemID,ParamValueINTO #Param_valuesFROM(SELECT a.AttributeID,a.ItemID,CASE WHEN Parameter1InUse=1 THEN Parameter1ValueELSE NULL END AS P1Value,CASE WHEN Parameter2InUse=1 THEN Parameter2ValueELSE NULL END AS P2Value,....FROM AttributeMap amJOIN Attributes aON a.AttributeId = am.AttributeIDJOIN AttributeValue avON av.AddtibuteValueID = am.AttibuteValueIDWHERE am.AttributeID = @AttributeIDAND am.ItemID = @ItemID)tUNPIVOT(ParamValue FOR Title IN ([P1Value],[P2Value],...))uSELECT p.Parameter,pv.ParamValueFROM #Parameters pJOIn #Param_values pvON pv.AttributeID = p.AttributeIDAND pv.ItemID = p.ItemIDDROP TABLE #Parameters DROP TABLE #Param_values
------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/