CargoLine.OrderId = Orders.OrderId AND OrderParcelNumbers.OrderId = Orders.OrderId AND ((CargoLine.GoodsDescription='Posten Ekspr') AND (Orders.ReceivedTimeStatus1>{ts '2003-06-12 00:00:00'} And Orders.ReceivedTimeStatus1<{ts '2003-06-12 23:59:59'}) OR (CargoLine.GoodsDescription='Post') AND (Orders.ReceivedTimeStatus1>{ts '2003-06-12 00:00:00'} And Orders.ReceivedTimeStatus1<{ts '2003-06-12 23:59:59'}))
Querien jeg har virker sådan set også, men jeg får dubletter på mit parcelnumber....hvordan undgår jeg det ?
Kan ikke svar uden at har din SQL statement...men det ser ud som du ikke brug JOIN, bare SELECT .... FROM TransFleet.dbo.OrderParcelNumbers, TransFleet.dbo.Orders, TransFleet.dbo.CargoLine WHERE .....
SELECT distinct OrderParcelNumbers.ParcelNumber, Orders.OrderId, Orders.ExternOrderId, CargoLine.Weight, CargoLine.GoodsDescription, Orders.ReceivedTimeStatus1 FROM TransFleet.dbo.CargoLine CargoLine, TransFleet.dbo.OrderParcelNumbers OrderParcelNumbers, TransFleet.dbo.Orders Orders WHERE CargoLine.OrderId = Orders.OrderId AND OrderParcelNumbers.OrderId = Orders.OrderId AND ((CargoLine.GoodsDescription='Posten Ekspr') AND (Orders.ReceivedTimeStatus1>{ts '2003-06-12 00:00:00'} And Orders.ReceivedTimeStatus1<{ts '2003-06-12 23:59:59'}) OR (CargoLine.GoodsDescription='Post') AND (Orders.ReceivedTimeStatus1>{ts '2003-06-12 00:00:00'} And Orders.ReceivedTimeStatus1<{ts '2003-06-12 23:59:59'}))
Du må gerne komme med et eksempel på en INNER JOIN.....
SELECT distinct OrderParcelNumbers.ParcelNumber, Orders.OrderId, Orders.ExternOrderId, CargoLine.Weight, CargoLine.GoodsDescription, Orders.ReceivedTimeStatus1 FROM (Orders INNER JOIN OrderParcelNumbers ON Orders.OrderId = OrderParcelNumbers.OrderId) INNER JOIN CargoLine ON Orders.OrderId = CargoLine.OrderId WHERE ((CargoLine.GoodsDescription='Posten Ekspr') AND (Orders.ReceivedTimeStatus1>{ts '2003-06-12 00:00:00'} And Orders.ReceivedTimeStatus1<{ts '2003-06-12 23:59:59'}) OR (CargoLine.GoodsDescription='Post') AND (Orders.ReceivedTimeStatus1>{ts '2003-06-12 00:00:00'} And Orders.ReceivedTimeStatus1<{ts '2003-06-12 23:59:59'}))
You can see that there are NO duplicates, every post is different from the next based on the fields kollinummer, orderid, Ex.O.id, vægt.
If you want to see sum of vægt (instead of an individual post for each) you will need to group the SQL. Something like:
SELECT DISTINCT OrderParcelNumbers.ParcelNumber, Orders.OrderId, Orders.ExternOrderId, Sum(CargoLine.Weight) AS SumOfWeight, CargoLine.GoodsDescription, Orders.ReceivedTimeStatus1 FROM (Orders INNER JOIN OrderParcelNumbers ON Orders.OrderId = OrderParcelNumbers.OrderId) INNER JOIN CargoLine ON Orders.OrderId = CargoLine.OrderId WHERE ((CargoLine.GoodsDescription='Posten Ekspr') AND (Orders.ReceivedTimeStatus1>{ts '2003-06-12 00:00:00'} And Orders.ReceivedTimeStatus1<{ts '2003-06-12 23:59:59'}) OR (CargoLine.GoodsDescription='Post') AND (Orders.ReceivedTimeStatus1>{ts '2003-06-12 00:00:00'} And Orders.ReceivedTimeStatus1<{ts '2003-06-12 23:59:59'})) GROUP BY OrderParcelNumbers.ParcelNumber, Orders.OrderId, Orders.ExternOrderId, CargoLine.GoodsDescription, Orders.ReceivedTimeStatus1
Lets look at the two posts: 107570613337 2075265 1075706 1.0 Post 2003-06-12 18:15:59.000 107570613337 2075265 1075706 16.0 Post 2003-06-12 18:15:59.000
They become 1 post (with the group query): 107570613337 2075265 1075706 17.0 Post 2003-06-12 18:15:59.000
but what weight is the correct one ? Your eksample shows the same kollinr with two different weights and only one of them is right. The other weight "belongs" to the other kollinr on that OrderId. I just think that there should be a way, that ensures I get the right information to what ever kollinr/OrderId I have.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.