私はクエリを実行しようとしていますが、売上の総数は税率によって課税対象と非課税対象になります。グループと正しくグループ化することができない
SELECT '$' + CAST (SUM (CASE WHEN Taxes.SalesTax = '0.06' THEN Order_Summary.CompleteSalesTax
WHEN Taxes.SalesTax = '0.065' THEN Order_Summary.CompleteSalesTax
WHEN Taxes.SalesTax = '0.07' THEN Order_Summary.CompleteSalesTax
WHEN Taxes.SalesTax = '0.075' THEN Order_Summary.CompleteSalesTax ELSE 0.0 END) AS varchar(10))
AS 'Non-Taxable Sales',
'$' + CAST (SUM(CASE WHEN Taxes.SalesTax = '0.06' THEN Order_Summary.CompleteSalesNonTax
WHEN Taxes.SalesTax = '0.065' THEN Order_Summary.CompleteSalesNonTax
WHEN Taxes.SalesTax = '0.07' THEN Order_Summary.CompleteSalesNonTax
WHEN Taxes.SalesTax = '0.075' THEN Order_Summary.CompleteSalesNonTax ELSE 0.0 END) AS varchar(10))
AS 'Taxable Sales',
CAST (Taxes.SalesTax * 100 AS VARCHAR) + '%' AS 'Sales Tax Rate'
FROM ((Order_Label INNER JOIN Order_Summary
ON Order_Label.OrderID = Order_Summary.SummID) INNER JOIN Taxes
ON Order_Lablel.ZipCodeShipped = Taxes.StateZipCode)
WHERE (((Order_Label.StateShipped)= 'FLORIDA')
AND ((Order_Label.O_Date) Between [DATE] And [DATE]))
GROUP BY TAXES.SalesTax
HAVING COUNT (*) = 1
それはそうと、結果を返します。
|Non-Taxable Sales|Taxable Sales|Sales Tax Rate|
|XXXXX.XX |XXX.XX |X.XX% |
|XXXXX.XX |XXX.XX |X.XX% |
|XXXXX.XX |XXXX.XX |X.XX% |
|XXX.XX |XX.XX |X.XX% |
は何私の問題があり、注文番号と呼ばれるOrder_Labelテーブルの一意の識別子があります。 OrderNumberには値が重複しているので、それらはすべての重複を集約しているので、最終的な値は必要以上に大きくなります。私はグループを持っていて、クエリにDISTINCTを実装しましたが、それでも間違った値を返しています。私がクエリに実装して、正しい値を返し、グループを維持することができるものがありますか?これは、示されているように4行の3列のみを生成します。
「Order_Lablel」とは何ですか?クエリ全体、またはコンパイルされたものを見るのに役立つかもしれません。 – JamieD77
Order_Labelはすべて独自のテーブルで、上記のクエリはクエリ全体であり、現在エラーなしで実行されます。 OrderNumberというOrder_Labelに列名があります。データベースには、OrderNumberが何回発生したかに応じて、それらの値を何度も合計することによって、データベース内に同じ値を持つ同じOrderNumberがいくつか出現します。例: OrderNumber 123が発生すると、値$ 100で4回、クエリでは$ 100でなければならないと$ 400として集計されます。 – walangala