0
同じBNに対して複数のエントリ(行)を作成するのではなく、FC、FM、MSの値で同じ行にエントリを作成する必要があります。oracle sqlの単一行で複数の行が共通
select bspt.BN, FC, FM, MS from(select distinct(ozt.BRD_ID),
bp.NAME as BN,
os.OSS FC, '' FM, '' MS
from PR_BP ozt, PR_BP_BPP bp, BDD b, OS_VIEW os
where bp.BRD_ID = ozt.BRD_ID AND ozt.BRD_ID = os.OBJECT_ID and
os.OST = 'PR_BP_BPP' AND (ozt.BID = 10001)
and ozt.BID = b.BID AND ozt.BP_ACTIVE = 'Y'
UNION ALL
select distinct(ozt.BRD_ID),
bp.NAME as BN,
'' FC, os.OST FM, '' MS
from PR_BP ozt, PR_BP_BPP bp, BRAND b, OS_VIEW os
where bp.BRD_ID = ozt.BRD_ID AND ozt.BRD_ID = os.OBJECT_ID and
os.OST = 'PR_BP_BPP' AND (ozt.BID = 10002)
and ozt.BID = b.BID AND ozt.BP_ACTIVE = 'Y'
上記のクエリは、BNAME列に対して複数のエントリを持つ出力を生成しています。したがって、別々のエントリを作成する代わりに、共通のBNAMEに対して1つの行のみを作成する必要があります。
したがって、あなたの例では、結果に含まれるべき2つの行のうち、どちらが含まれていてもいけませんか?どのような一般的な論理に基づいて、それはすべての同様の可能な重複に適用されますか? (ルールは "それに依存する"ことはできません - 結果テーブルを見ることなくそれを記述できる必要があります) – mathguy
共通のBIZNAMEの1行にする必要があります。出力は上記の結果になるはずですトップアップ(自己勘定残高駆動型または月単位)NN(null) – Andrew