0

数量が >0 および <0 の請求書の請求明細表を検索しています。請求明細表には、請求書のすべての項目の詳細が含まれています。商品の数量が 0 より大きく 0 より小さいすべての請求書を取得するクエリを作成するにはどうすればよいですか。

4

1 に答える 1

0

このようなものはどうですか?これは 2 つのクエリを使用します。1 つ目は、数量がマイナスのすべての請求書を検索します。次に、2 番目のクエリを適用して、請求書のリストから数量が正の請求書のみを検索します。

SELECT DISTINCT
  PosNegInvoices.InvoiceID 
FROM ItemizedInvoice AS NegInvoices
CROSS APPLY
(
  SELECT
    InvoiceID
  FROM ItemizedInvoice 
  WHERE InvoiceID = NegInvoices.InvoiceID
  AND Quantity > 0
) AS PosNegInvoices
WHERE NegInvoices.Quantity < 0

CTE を使用する別のバージョンを次に示します。

WITH NegInvoices AS
(
  SELECT
    InvoiceID
  FROM ItemizedInvoice
  WHERE Quantity < 0
),
PosInvoices AS 
(
  SELECT
    InvoiceID
  FROM ItemizedInvoice
  WHERE Quantity > 0
)
SELECT DISTINCT
  PosInvoices.InvoiceID
FROM NegInvoices 
JOIN PosInvoices
ON NegInvoices.InvoiceID = PosInvoices.InvoiceID
于 2012-12-08T00:51:06.163 に答える