私は最近、すべての注文データを保存する方法として Progress OpenEdge 10.1B を使用する会社に入社しました。これを Crystal Reports XI と組み合わせて使用し、会社のさまざまな部門向けにさまざまなレポートを選択して作成しています。これは私がよく知っているシステムではありませんが、上司から、特定の条件下で 2 つの別々の行を追加するために、作成したレポートの 1 つで SQL クエリを実行してみるように言われました。
今、彼が OpenEdge からすべての関連データを呼び出すと、この SQL クエリが作成されます。
SELECT "esthead1"."k-est-code", "estseqqty1"."k-seq",
"estseqqty1"."estsq-qty", "estroute1"."kdeptsn",
"estroute1"."estr-run-cost-or", "estroute1"."estr-mr-cost-or",
"estrcoat1"."estrc-cost-or" FROM {oj (("VISION"."PUB"."esthead"
"esthead1" LEFT OUTER JOIN "VISION"."PUB"."estseqqty" "estseqqty1" ON
("esthead1"."kco"="estseqqty1"."kco") AND
("esthead1"."k-est-code"="estseqqty1"."k-est-code")) LEFT OUTER JOIN
"VISION"."PUB"."estroute" "estroute1" ON
(("estseqqty1"."kco"="estroute1"."kco") AND
("estseqqty1"."k-est-code"="estroute1"."k-est-code")) AND
("estseqqty1"."k-seq"="estroute1"."k-seq")) LEFT OUTER JOIN
"VISION"."PUB"."estrcoat" "estrcoat1" ON
(("estseqqty1"."kco"="estrcoat1"."kco") AND
("estseqqty1"."k-est-code"="estrcoat1"."k-est-code")) AND
("estseqqty1"."k-seq"="estrcoat1"."k-seq")} WHERE
"esthead1"."k-est-code"='S45160/002'
フィールド kdeptsn には各注文の 2 つのインスタンスがありますが、両方に異なるコストが付加されており、estrc-co-or の下に示されています。このデータをすべて取得したいのですが、2 つのインスタンスを合計すると 1 行になります。
私が抱えている問題は、過去には常に SQL テーブルを見て直接参照していたことです。OpenEdge では、そうではありません。Crystal Reports は、Crystal Reports が OpenEdge から受け取ったデータから上記の SQL 式が生成されることを示唆しています。
あなたが私に与えることができる提案やアドバイスをいただければ幸いです!ありがとう!