基本的に大量のデータをExcelスプレッドシートに大量に生成するさまざまな大きなビュー/ストアドプロシージャがあります。会社の金額がすべて流れていないという問題がありました。私はそれをストアドプロシージャのコードに絞り込みました: (これは簡単にするために省略されていることに注意してください)
LEFT OUTER JOIN view_creditrating internal_creditrating
ON creditparty.creditparty =
internalrating.company
LEFT OUTER JOIN (SELECT company, contract, SUM(amount) amount
FROM COMMON_OBJ.amount
WHERE status = 'Active'
GROUP BY company, contract) col
ON vd.contract = col.contract
問題のある表:
company | contract | amount |
| | |
TVC | NULL | 1006 |
KS | 10070 | -2345 |
NYC-G | 10060 | 334000 |
NYC-G | 100216 | 4000 |
UECR | NULL | 0 |
SP | 10090 | 84356 |
基本的に、一部のコントラクトは NULL です。そのため、契約に LEFT OUTER JOIN があると、契約の null 値がドロップアウトして流れません...だから、会社に基づいてそれを行うことにしました。異なる契約を表示するために会社がテーブル内に複数回表示されるため、これも問題を引き起こします。この変更により、契約 10060 の金額が必要なのか契約 100216 の金額が必要なのかがわからず、多くの場合、間違った金額が返されるため、クエリがあいまいになります。company=company で最後の ON 句を残すことを考えました。これにより、問題が最小限に抑えられます....次に、いくつかのセルにのみ影響するため、一貫性のないセル値ごとに何らかの形で直接クエリを実行します。私は検索しましたが、これが可能だとは思いません。これは可能ですか?? または、データベース側でこれを修正する別の方法はありますか?