過去 2 か月間に商品が販売された場合に、カウントする在庫のリストを作成しようとしています。Pervasive SQL を使用しており、これは BusinessVision テーブルです。このクエリは機能しますが、1 つのアイテムを表示するために集計する方法がわかりません。
SELECT "INVENTORY"."CODE", "INVENTORY"."INV_DESCRIPTION",
"INVENTORY"."BVSTKUOM", "INVENTORY"."INV_COMMITTED",
"INVENTORY"."ONHAND",
"SALES_HISTORY_HEADER"."IN_DATE"
FROM "INVENTORY" INNER JOIN "SALES_HISTORY_DETAIL" ON "SALES_HISTORY_DETAIL"."CODE" = "INVENTORY"."CODE" INNER JOIN "SALES_HISTORY_HEADER" ON "SALES_HISTORY_HEADER"."NUMBER" = "SALES_HISTORY_DETAIL"."NUMBER"
where "INVENTORY"."PROD" like 'A6O%' AND "SALES_HISTORY_HEADER"."IN_DATE" > '20090731'
Ok。このクエリでは、日付が異なる部品番号の結果が繰り返されます。過去 2 か月間に販売されたものであれば、部品番号ごとに 1 つのオカレンスが必要です。例えば:
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000 20090810
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000 20090811
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000 20090812
私は単純に次のようにしたいと思います:
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
そして次の行に次の製品。どうやってやるの?
いくつかの回答後に編集された部分: DISTINCT についての提案をありがとう。なぜ結果が繰り返されるのかはまだわかりません。クエリの結果 (の一部) を表示します ("SALES_HISTORY_HEADER"."IN_DATE" は含まれません):
CODE INV_DESCRIPTION BVSTKUOM INV_COMMITTED ONHAND
--------------------------------------------------------- --------------- ----------
A6001-O15NP HP 700-101-O White 15" NP yds 0.00000 180.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
GROUP BY または DISTINCT を使用すると、次の結果が得られます。
CODE INV_DESCRIPTION BVSTKUOM INV_COMMITTED ONHAND
--------------------------------------------------------- --------------- ----------
A6001-O15NP HP 700-101-O White 15" NP yds 0.00000 50.00000
A6001-O15NP HP 700-101-O White 15" NP yds 0.00000 180.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 0.00000
A6001-O15P HP 700-101-O White 15" Perf yds 0.00000 915.00000
180 と 915 の 2 行だけを期待します。