ahmed elbarbary

ahmed elbarbary

  • 1.3k
  • 645
  • 25k

All queries combined using a UNION, INTERSECT or EXCEPT oper

Feb 9 2020 5:18 PM
problem
 
error 
 
All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists 
 
 
 
data on this link 
 
http://www.mediafire.com/file/s6qvxpd83z1zssi/datafeatures.sql/file 
 
I need to display data plus one record display as first row as structure of data
 
the following data is desired result
 
red row i need to added
  1. ItemId  IPN PartnerName CustomerName    Fan Motor   Refrigator  temprature  
  2. ItemId  IPN PartnerName CustomerName    Fan Motor   Refrigator  temprature  
  3. 1   1233    Saico   NULL    NULL    NULL    NULL    55567  
  4. 2   5433    Mbaby   NULL    23444   NULL    NULL    NULL  
  5. 3   590444  nagieb  NULL    NULL    NULL    556666  NULL  
What I have tried:
  1. create table #ItemFeatures  
  2. (  
  3.   
  4. CustomerName nvarchar(200),  
  5. CustomerId nvarchar(50)  
  6.   
  7. )  
  8.   
  9.   
  10. insert into #ItemFeatures  
  11. (  
  12. CustomerName  
  13. )  
  14.   
  15.   
  16.   
  17. values  
  18. ('Avidyne')  
  19.   
  20.   
  21. Exec(@sql)  
  22.   
  23. update tmp  
  24. set tmp.CustomerId = c.CustomerID  
  25. from #ItemFeatures tmp inner join pcn.Customers c on c.CustomerName = tmp.CustomerName  
  26.   
  27. DECLARE @Columns as VARCHAR(MAX)  
  28. SELECT @Columns =  
  29. COALESCE(@Columns + ', ','') + QUOTENAME(FeatureName)  
  30. FROM  
  31. --select distinct Features  
  32. (select distinct FeatureName from [CustomerLocations].[FeatureTypes]  
  33.   
  34. AS B  
  35. ORDER BY B.FeatureName  
  36.   
  37.   
  38. --select @Columns  
  39. --pivot table make count for item to every Feature Based on features Name  
  40. DECLARE @SQLs as VARCHAR(MAX)  
  41.   
  42. SET @SQLs = 'select  ''ItemId'', ''IPN'',''PartnerName'',''CustomerName'',  
  43.       '' + @Columns + '' union all  
  44. SELECT ItemId,IPN,PartnerName,CustomerName,' + @Columns + '  
  45. FROM  
  46. (  
  47. select F.ItemId ,t.FeatureName,F.FeatureValue,I.IPN,I.PartnerName,FI.CustomerName  
  48. from [CustomerLocations].[ItemFeatures] F  
  49. Inner Join [CustomerLocations].[Items] I ON F.ItemId=I.ItemId  
  50. inner join CustomerLocations.FeatureTypes T on T.FeatureId=F.FeatureId  
  51. inner join #ItemFeatures FI on I.CustomerID=FI.CustomerID  
  52.   
  53.   
  54.   
  55. as PivotData  
  56. PIVOT  
  57. (  
  58. max(FeatureValue)  
  59. FOR FeatureName IN (' + @Columns + ')  
  60. AS PivotResult  
  61. '  
  62.   
  63. EXEC(@SQLs)  
  64.   
  65. drop table #ItemFeatures