Question

I am trying to write an sql statement to show all of our packages that have shipped by themselves so we can update our weights. As long as my info is all in one column it works great. When I try to add the SKU from the second column it will not work without grouping the sku column.

--Need to add [Order Details].SKU here while retaining only for orders that match having statement.
SELECT        TOP (50) Tracking.OrderNum, Tracking.Pounds, Tracking.Ounces
FROM            Tracking INNER JOIN
              [Order Details] ON Tracking.OrderNum = [Order Details].OrderNumber AND Tracking.OrderNum = [Order Details].OrderNumber 
--Adjustment differentiates items from charges like tax ect.
WHERE        ([Order Details].Adjustment = 0)
GROUP BY Tracking.OrderNum, Tracking.Pounds, Tracking.Ounces
HAVING        (COUNT([Order Details].OrderNumber) = 1)
ORDER BY CAST(Tracking.OrderNum AS INT) DESC
Was it helpful?

Solution

I ended up using this:

WITH SingleShips AS
(
SELECT        Tracking.OrderNum, Tracking.Pounds, Tracking.Ounces
FROM            Tracking INNER JOIN
                         [Order Details] ON Tracking.OrderNum = [Order Details].OrderNumber
WHERE        ([Order Details].DetailDate > GETDATE()-180) AND [Order Details].Adjustment=0 
             --and Tracking.OrderNum = 216986

GROUP BY Tracking.OrderNum, Tracking.Pounds, Tracking.Ounces
HAVING        (COUNT([Order Details].OrderNumber) = 1) AND SUM([Order Details].QuantityOrdered) = 1
)

SELECT        [Order Details].DetailDate, [Order Details].SKU, SingleShips.*
FROM            SingleShips INNER JOIN
                        [Order Details] ON SingleShips.OrderNum = [Order Details].OrderNumber 
WHERE        ([Order Details].Adjustment = 0) and SingleShips.OrderNum = [Order Details].OrderNumber
ORDER BY SKU

Anyone have better solutions? As I am new to this I appreciate feedback.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top