Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. Order Details
  2. 2315 1x5432 Apple Tree, 9x912 Roses, 1x13 Spade
  3. 2316 3x12 Lawn grass
  4.  
  5. SELECT DISTINCT
  6. Col1.Table_Name TableName,
  7. STUFF
  8. (
  9. (
  10. SELECT
  11. ', ' + CONVERT (VARCHAR, Col2.Column_name)
  12. FROM Information_Schema.Columns Col2
  13. WHERE Col1.Table_Name = Col2.Table_Name
  14. ORDER BY Col2.Table_Name
  15. FOR XML PATH('')
  16. ), 1, 2, ''
  17. ) AS ColumnNames
  18. FROM Information_Schema.Columns Col1
  19.  
  20. CREATE FUNCTION GetDetails (@order_id INT) RETURNS NVARCHAR(1000) AS
  21. BEGIN
  22. DECLARE mycursor
  23. CURSOR READ_ONLY
  24. FOR SELECT description
  25. FROM OrderDetails
  26. WHERE order_id = @order_id
  27.  
  28. DECLARE @description NVARCHAR(100)
  29. DECLARE @return_value NVARCHAR(1000)
  30.  
  31. SET @return_value = ''
  32. OPEN mycursor
  33. FETCH NEXT FROM mycursor INTO @description
  34. WHILE @@fetch_status = 0
  35. BEGIN
  36. SET @return_value = @return_value + @description
  37. FETCH NEXT FROM mycursor INTO @description
  38. IF (@@fetch_status = 0) SET @return_value = @return_value + ', '
  39. END
  40. CLOSE mycursor
  41. DEALLOCATE mycursor
  42. RETURN @return_value
  43. END;
  44.  
  45. SELECT order_id, GetDetails(order_id) as details
  46. FROM Order
  47.  
  48. CREATE FUNCTION GetDetails(@OrderID varchar(10))
  49. RETURNS varchar(1000) AS
  50. BEGIN
  51. DECLARE @result varchar(1000), @delimiter char
  52.  
  53. SET @delimiter = ','
  54.  
  55. SELECT @result = COALESCE(@result + @delimiter, '') + Details
  56. FROM
  57. (
  58. SELECT ProductNumber
  59. , Quantity + 'x' + ProductNumber + ' ' + ProductName AS Details
  60. FROM OrderDetail where OrderID = @OrderID
  61. ) OrderDetail
  62. ORDER BY ProductNumber
  63.  
  64. RETURN @result
  65. END
  66.  
  67. SELECT OrderId, GetDetails(OrderId) AS Details
  68. FROM Order
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement