Reputation: 341
SELECT CD.CartId
,PR.Name
,PR.SKU
,CD.Quantity
,CD.Price
,CD.Total
,CD.IsAddedFromWidget
,CD.WidgetSlotLabel
,CD.AddToCartDate
,CO.UpdatedDate AS [CheckoutDate]
,CD.PurchaseDate {from [Tracking].[CartDetail] CD
INNER JOIN [Tracking].[Cart] C ON CD.CartId = C.Id
INNER JOIN [Tracking].[Product] PR ON CD.ProductId = PR.Id
INNER JOIN [Tracking].[Checkout] CO ON C.$NODE_ID = CO.$TO_ID
WHERE C.WebsiteId = @Websited
AND C.STATUS = 20
AND CD.PurchaseDate >= @FromDate
AND CD.PurchaseDate <= @ToDate
ORDER BY CD.PurchaseDate DESC
,CD.CartId DESC}
However, I am getting the error:
Must declare the scalar variable "@WebsiteID".
Upvotes: 1
Views: 3001
Reputation: 3367
Here is an example of what your declarations might look like.
DECLARE @WebsiteID uniqueidentifier = NEWID()
,@FromDate DATETIME = GETDATE() - 1
,@ToDate DATETIME = GETDATE()
SELECT CD.CartId
,PR.Name
,PR.SKU
,CD.Quantity
,CD.Price
,CD.Total
,CD.IsAddedFromWidget
,CD.WidgetSlotLabel
,CD.AddToCartDate
,CO.UpdatedDate AS [CheckoutDate]
,CD.PurchaseDate
FROM [Tracking].[CartDetail] CD
INNER JOIN [Tracking].[Cart] C ON CD.CartId = C.Id
INNER JOIN [Tracking].[Product] PR ON CD.ProductId = PR.Id
INNER JOIN [Tracking].[Checkout] CO ON C.$NODE_ID = CO.$TO_ID
WHERE C.WebsiteId = @WebsiteID
AND C.STATUS = 20
AND CD.PurchaseDate >= @FromDate
AND CD.PurchaseDate <= @ToDate
ORDER BY CD.PurchaseDate DESC
,CD.CartId DESC
Also, it appears to me that @Websited
is a typo, so I've used @WebsiteID
.
I've also removed the invalid { }
braces from your code.
Additionally, the column names $NODE_ID
and $TO_ID
look a little weird to me. (The usage of $
is what I am talking about).
Upvotes: 3