Guest User

Untitled

a guest
May 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 KB | None | 0 0
  1. |number |line |partNum |phoneNum |qty_SN |qty_Property |qty_Name |qty_Time
  2. ------------------------------------------------------------------------------
  3. |87 |1 |55G5 |555-789-7512 |00123 |Local |Owner |05:22
  4. |87 | | | |14988 |Local |Seller |10:44
  5. |87 | | | |521 |Remote |Owner |01:05
  6. |87 | | | |50697 |Local |Seller |11:41
  7. |87 | | | |2359 |Remote |Seller |04:45
  8.  
  9. |number |line |partNum |phoneNum |qty_SN |qty_Property |qty_Name |qty_Time
  10. ------------------------------------------------------------------------------------------------------------------------------------------------------------------
  11. |87 |1 |55G5 |555-789-7512 |00123,14988,521,50697,2359 |Local,Local,Remote,Local,Remote |Owner,Seller,Owner,Seller,Seller |05:22,10:44,01:05,11:41,04:45
  12.  
  13. ;WITH TheDATA AS (
  14. SELECT
  15. BL.number AS 'number',
  16. BL.line AS 'line',
  17. BL.partNumber AS 'partNum',
  18. BL.phoneNumber AS 'phoneNum',
  19. L.qtySN AS 'qty_SN',
  20. I.qtyProperty AS 'qty_Property',
  21. I.qtyName AS 'qty_Name',
  22. I.qtyTime AS 'qty_Time',
  23. ROW_NUMBER() Over (
  24. PARTITION BY
  25. BL.number
  26. ORDER BY
  27. BL.number
  28. ) AS 'RowNo'
  29. FROM
  30. BList AS BL
  31. INNER JOIN Location AS L
  32. ON BL.ID = L.Route
  33. INNER JOIN Inventory AS I
  34. ON L.ID = I.prodID
  35. SELECT
  36. number AS 'number',
  37. IIF(RowNo = 1, CONVERT(varchar, line), '') AS 'line',
  38. IIF(RowNo = 1, partNumber, '') AS 'partNum',
  39. IIF(RowNo = 1, phoneNumber, '') AS 'phoneNum',
  40. qty_SN AS 'qty_SN',
  41. qty_Property AS 'qty_Property',
  42. qty_Name AS 'qty_Name',
  43. qty_Time AS 'qty_Time'
  44. FROM
  45. TheData
  46.  
  47. ;WITH CTE(number ,line ,partNum ,phoneNum ,qty_SN ,qty_Property ,qty_Name ,qty_Time)
  48. AS
  49. (
  50. SELECT 87 ,1 , '55G5' ,'555-789-7512' ,00123 ,'Local' ,'Owner' ,'05:22' UNION ALL
  51. SELECT 87 ,NULL ,NULL ,NULL ,14988 ,'Local' ,'Seller' ,'10:44' UNION ALL
  52. SELECT 87 ,NULL ,NULL ,NULL ,521 ,'Remote' ,'Owner' ,'01:05' UNION ALL
  53. SELECT 87 ,NULL ,NULL ,NULL ,50697 ,'Local' ,'Seller' ,'11:41' UNION ALL
  54. SELECT 87 ,NULL ,NULL ,NULL ,2359 ,'Remote' ,'Seller' ,'04:45'
  55. )
  56. SELECT * FROM
  57. (
  58. SELECT DISTINCT number, line,partNum ,phoneNum,
  59. STUFF((SELECT ', '+CAST(qty_SN AS Varchar(10)) FROM CTE FOR XML PATH ('')),1,1,'') AS qty_SN,
  60. STUFF((SELECT ', '+CAST(qty_Property AS Varchar(10)) FROM CTE FOR XML PATH ('')),1,1,'') AS qty_Property,
  61. STUFF((SELECT ', '+CAST(qty_Name AS Varchar(10)) FROM CTE FOR XML PATH ('')),1,1,'') AS qty_Name,
  62. STUFF((SELECT ', '+CAST(qty_Time AS Varchar(10)) FROM CTE FOR XML PATH ('')),1,1,'') AS qty_Time
  63. FROM CTE
  64. )dt
  65. WHERE line IS NOT NULL AND partNum IS NOT NULL AND phoneNum IS NOT NULL
Add Comment
Please, Sign In to add comment