Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.76 KB | None | 0 0
  1. DECLARE @WineryID UNIQUEIDENTIFIER
  2. SET     @WineryID =
  3. (
  4.   SELECT WineryID
  5.   FROM   AdminContacts
  6.   WHERE  Username = 'benb'
  7.     AND  Password = 'ewinery11'
  8. )
  9.  
  10. DECLARE @OrderNumber VARCHAR(50)
  11. SET     @OrderNumber = '162757'
  12.  
  13. DECLARE @CartID UNIQUEIDENTIFIER
  14. SET     @CartID =
  15. (
  16.   SELECT c.CartID
  17.   FROM   Carts c
  18.   WHERE c.WineryID    = @WineryID
  19.     AND c.OrderNumber = @OrderNumber
  20. )
  21.  
  22. DECLARE @FirstPartyWine    UNIQUEIDENTIFIER
  23. DECLARE @ThirdPartyWine    UNIQUEIDENTIFIER
  24. DECLARE @FirstPartyProduct UNIQUEIDENTIFIER
  25.  
  26. SET @FirstPartyWine =
  27. (
  28.   SELECT ProductTypeID
  29.   FROM   ProductTypes
  30.   WHERE  ProductType = 'First Party Wine (Bottles/Cases)'
  31. )
  32.  
  33. SET @ThirdPartyWine =
  34. (
  35.   SELECT ProductTypeID
  36.   FROM   ProductTypes
  37.   WHERE  ProductType = 'Third Party Wine (Bottles/Cases)'
  38. )
  39.  
  40. SET @FirstPartyProduct =
  41. (
  42.   SELECT ProductTypeID
  43.   FROM   ProductTypes
  44.   WHERE  ProductType = 'First Party Product'
  45. )
  46.  
  47. DECLARE @SentToFulfillment                INT
  48. DECLARE @PaymentAccepted                  INT
  49. DECLARE @OrderTypePhone                   INT
  50. DECLARE @OrderTypeClub                    INT
  51. DECLARE @OrderTypeInternet                INT
  52. DECLARE @FulfillmentTypeClub              INT
  53. DECLARE @FulfillmentTypeDaily             INT
  54.  
  55. SET @SentToFulfillment      = 5
  56. SET @PaymentAccepted        = 4
  57. SET @OrderTypePhone         = 6
  58. SET @OrderTypeClub          = 1
  59. SET @OrderTypeInternet      = 4
  60. SET @FulfillmentTypeClub    = 1
  61. SET @FulfillmentTypeDaily   = 2
  62.  
  63. SELECT ci.CartItemID,
  64.        CASE p.ProductTypeID
  65.          WHEN @FirstPartyWine  THEN wb.WineBrandKey
  66.          WHEN @ThirdPartyWine  THEN tpwb.WineBrandKey
  67.          ELSE 'NONWINE'
  68.        END AS BrandKey,
  69.        ISNULL(cs.ShippingCode, '') AS ShippingCode, cs.ShippingType,
  70.        win.WineryID, win.ShipCompliantFulfillmentAccount,
  71.        ci.ProductSKU, ws.WineShipper,
  72.        CASE win.IsShipCompliantForFulfillment
  73.          WHEN 1 THEN @SentToFulfillment
  74.          ELSE @PaymentAccepted
  75.        END AS ShipmentStatus,
  76.        CASE
  77.          WHEN ci.PriceUnits = 'Case(s)' THEN
  78.            -- Note: ci.BottleCount is never NULL when PriceUnits is Case(s).
  79.            CAST(ISNULL(ci.CustomizedPrice, ci.Price) / ci.BottleCount AS MONEY)
  80.          ELSE
  81.            CAST(ISNULL(ci.CustomizedPrice, ci.Price) AS MONEY)
  82.        END AS UnitPrice,
  83.        CASE
  84.          WHEN ci.BottleCount IS NULL THEN ci.Quantity
  85.          ELSE ci.BottleCount * ci.Quantity
  86.        END AS Quantity,
  87.        c.CartID, c.WineryID, cb.ClubBatchID, win.ShipCompliantURL,
  88.        win.ShipCompliantUsername, win.ShipCompliantPassword,
  89.        win.ShipCompliantTag, cb.BatchName, c.GiftMessage,
  90.        c.OrderNotes, c.ShipCity, c.ShipCompany, c.ShipFirstName,
  91.        c.ShipLastName, c.ShipPhone, c.ShipState, c.ShipZipCode,
  92.        c.ShipAddress, c.ShipAddress2, c.BillCity, c.BillCompany,
  93.        c.BillEmail, c.BillFirstName, c.BillLastName, c.BillPhone,
  94.        c.BillState, c.BillAddress, c.BillAddress2, c.BillZipCode,
  95.        ISNULL(c.CustomizedShippingPrice, c.Shipping) AS Shipping,
  96.        CASE
  97.          WHEN c.IsClubOrder  = 1 THEN @OrderTypeClub
  98.          WHEN c.IsAdminOrder = 1 THEN @OrderTypePhone
  99.          ELSE @OrderTypeInternet
  100.        END AS OrderType,
  101.        CASE
  102.          WHEN cb.ClubBatchID IS NOT NULL THEN @FulfillmentTypeClub
  103.          ELSE @FulfillmentTypeDaily
  104.        END AS FulfillmentType,
  105.        c.DateAdded,
  106.        CASE
  107.          WHEN c.ShipDate IS NOT NULL THEN c.ShipDate
  108.          ELSE c.DateAdded
  109.        END AS ShipDate,
  110.        c.ShipBirthDate, c.BillBirthDate, c.DateAdded AS PurchaseDate,
  111.        CASE
  112.          WHEN c.OrderNumber IS NOT NULL THEN
  113.            ISNULL(win.ShipCompliantOrderPrefix, '') + CAST(c.OrderNumber AS VARCHAR(50))
  114.          ELSE CAST(c.CartID AS VARCHAR(50))
  115.        END AS SalesOrderKey,
  116.        c.MemberID AS CustomerKey,
  117.        ISNULL(lr.VALUE, 1) AS LicenseRelationship,
  118.        p2.ProductSKU AS KitSKU
  119. FROM   Carts c
  120. INNER JOIN CartItems ci ON c.CartID = ci.CartID
  121. INNER JOIN Products p ON ci.ProductID = p.ProductID
  122. INNER JOIN Wineries win ON c.WineryID = win.WineryID
  123. LEFT OUTER JOIN CartShippings cs ON c.CartID = cs.CartID
  124.   AND cs.ProductTypeID = p.ProductTypeID
  125. LEFT OUTER JOIN ClubBatches cb ON c.ClubBatchID = cb.ClubBatchID
  126. LEFT OUTER JOIN Wines w ON p.ProductKeyID = w.WineID
  127. LEFT OUTER JOIN ThirdPartyWines tpw ON p.ProductKeyID = tpw.ThirdPartyWineID
  128. LEFT OUTER JOIN WineBrands wb ON w.WineBrandID = wb.WineBrandID
  129. LEFT OUTER JOIN ThirdPartyWineBrands tpwb ON tpw.ThirdPartyWineBrandID = tpwb.ThirdPartyWineBrandID
  130. LEFT OUTER JOIN WineShippers ws ON ci.ShipperID = ws.WineShipperID
  131. LEFT OUTER JOIN LicenseRelationships lr ON c.LicenseRelationshipID = lr.RowID
  132. LEFT OUTER JOIN Products p2 ON ci.KitID = p2.ProductID
  133. WHERE c.Cartid = @CartID
  134. ORDER BY ShippingCode
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement