If you are on SQL 2005 or later:SELECT * FROM
(
SELECT Orders.OrderID,
Orders.CustomerID,
Orders.ShipCompanyName,
Orders.ShipFirstName,
Orders.ShipLastName,
Orders.ShipAddress1,
Orders.ShipAddress2,
Orders.ShipCity,
Orders.ShipState,
Orders.ShipPostalCode,
Orders.ShipCountry,
Orders.ShipPhoneNumber,
Orders.ShipFaxNumber,
Orders.ShippingMethodID,
Orders.OrderStatus,
Orders.Shipped,
Orders.ShipDate,
OrderDetails.ProductCode,
OrderDetails.ProductName,
OrderDetails.Quantity,
OrderDetails.Warehouses,
Orders.ShipFirstName + ' ' + Orders.ShipLastName AS fullname,
ROW_NUMBER() OVER (PARTITION BY Orders.OrderID,Orders.CustomerID ORDER BY Orders.ShipDate) AS RN
FROM Orders
INNER JOIN OrderDetails
ON Orders.OrderID = OrderDetails.OrderID
WHERE Orders.OrderStatus = 'Processing'
AND OrderDetails.Warehouses = '2'
) s WHERE RN=1;