Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. Create PROCEDURE [dbo].[SP_GetTicketWeekly]
  2. (
  3. @P_skip int,
  4. @P_pageSize int,
  5. @P_Count int output
  6. )
  7. AS
  8. BEGIN
  9. Select d.TicketNumber as 'CouponID' ,
  10. SUBSTRING(CAST(d.TicketNumber AS varchar(38)), 11, 5) as 'PromoCode',
  11. d.PromoStartDate as 'CouponStartDateID',
  12. d.PromoEndDate as 'CouponEndDateID',
  13. d.Description as 'CouponDesc',
  14. case
  15. When d.PromoType in (0, 1) and dbo.ParsePart(d.Description, '_', 1) =a.value and (d.Description like 'ZV_%')
  16. then a.description
  17. When d.PromoType = 1 and dbo.ParsePart(d.Description, '_', 1) =a.value
  18. then ( CAST(d.PromoValue AS VARCHAR)+ '% ' + a.description )
  19. When d.PromoType = 0 and dbo.ParsePart(d.Description, '_', 1) = a.value then ('$' + CAST(PromoValue AS VARCHAR)+' '+ a.description )
  20. end as 'Offer Description',
  21. SUBSTRING(CAST(TicketNumber AS varchar(38)), 8, 3) as 'Discount Amount',
  22. d.PromoLevel as 'ItemTrans1',
  23. --SUBSTRING(CAST(TicketNumber AS varchar(38)),5,1) as 'ItemTrans',
  24. d.PromoType as 'DollarPercent',
  25. --SUBSTRING(CAST(TicketNumber AS varchar(38)),7,1) as 'DollarPercent',
  26. dbo.ParsePart(d.Description, '_', 2) as 'ChannelDesc',
  27. dbo.ParsePart(d.Description, '_', 3) as 'EventDesc' ,
  28. case
  29. when dbo.ParsePart(d.Description, '_', 5) is NULL then
  30. dbo.ParsePart(d.Description, '_', 4)
  31. ELSE
  32. CONCAT(dbo.ParsePart(d.Description, '_', 4),'_',dbo.ParsePart(d.Description, '_', 5))
  33. END as 'AttDesc'
  34. from [dbo].[Product] d
  35. inner join [dbo].[ProductDescription] a on dbo.ParsePart(d.Description, '_', 1) = a.value
  36. --where d.promoStartDate > 20140000
  37. ORDER BY d.promoStartDate OFFSET '' + @P_skip + '' ROWS Fetch NEXT '' + @P_pageSize + '' ROWS ONLY
  38. END
  39.  
  40. Create Function [dbo].[ParsePart]
  41. (
  42. @Data varchar(8000),
  43. @Delimiter VarChar(8000),
  44. @Index Int
  45. )
  46. Returns VarChar(8000)
  47. As
  48. Begin
  49. Return (Select FieldName From dbo.Split(@Data, @Delimiter) Where Position = @Index)
  50. End
  51.  
  52.  
  53. Create Function [dbo].[Split]
  54. (
  55. @CommaDelimitedFieldNames Varchar(8000),
  56. @CharToFind VarChar(10)
  57. )
  58. Returns @Tbl_FieldNames Table (Position Integer Identity(1,1), FieldName VarChar(8000)) As
  59. Begin
  60. Set @CommaDelimitedFieldNames = @CommaDelimitedFieldNames + @CharToFind
  61. Declare @Pos1 Int
  62. Declare @pos2 Int
  63.  
  64. Set @Pos1=1
  65. Set @Pos2=1
  66. While @Pos1<DataLength(@CommaDelimitedFieldNames)
  67. Begin
  68. Set @Pos1 = CharIndex(@CharToFind, @CommaDelimitedFieldNames,@Pos1)
  69. Insert @Tbl_FieldNames Select Cast(Substring(@CommaDelimitedFieldNames,@Pos2,@Pos1-@Pos2) As VarChar(8000))
  70. Set @Pos2=@Pos1+1
  71. Set @Pos1 = @Pos1+1
  72. End
  73. Return
  74. End
  75.  
  76.  
  77. TABLE 1
  78.  
  79. Column1 Column2
  80. RSCL off Reg Sale or Clearance Item
  81.  
  82. TABLE2
  83.  
  84. Description Column2
  85. SA_ALL_PS_RSCL_CL SAMPLE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement