-1
作爲從Ebay加載訂單的過程的一部分,我們將導出的文件轉儲到表中,然後使用存儲過程處理表。這對於單件訂單(即使是大批量的一件商品)也很適用,但是它會在多個商品訂單上出現不正確的小計。原因是因爲查詢,但我堅持試圖找到一種方法來獲取正確的數據而不排除事物。如何重寫此查詢以獲取正確的小計
這裏的一個單線項順序的例子(表縮短以顯示點):
Quantity | Sale Price | Shipping and Handling | Total
2 $10 $4.95 $24.95
,這裏是一個多行一個
Quantity | Sale Price | Shipping and Handling | Total
5 $60 $14.95 $74.95
2 $10
2 $15
1 $10
下面是現有的查詢:
SELECT @RecentUID, @MaxOrderNum,
CAST(REPLACE(`Sale Price`, '$', '') AS DECIMAL(20,5))* e.Quantity,
CAST(REPLACE(`Shipping and Handling`, '$', '') AS DECIMAL(20,5)),
CAST(REPLACE(`Sales Tax`, '$', '') AS DECIMAL(20,5)),
CAST(REPLACE(`Total Price`, '$', '') AS DECIMAL(20,5)),
STR_TO_DATE(`Paid on Date`, '%b-%d-%y'), DATE_ADD(NOW(), INTERVAL 2 HOUR),
'Process', 44, 'eBay Via PayPal', `Buyer Fullname`, `Buyer Address 1`,
`Buyer Address 2`, `Buyer City`, `Buyer State`, `Buyer Zip`
FROM ebay_orders e
WHERE e.`Sales Record Number` = @eBayOrderNumber
AND e.`Paid on Date` <> ''
AND e.imported = 0;
單行項目會發生什麼情況,需要數量*銷售價格才能獲得小計價值,這是正確的。但是,對於多行項目,由於銷售價格已經是其他行的總和,因此不需要數量倍增。
我不知道該怎麼做。這是一個非常複雜的查詢,我無法在需要添加額外邏輯的地方抓住多線案例。