以下に示すように、3番目のテーブル "テーブルC"の一致するレコードに対して1つの値のみを取得するための適切なSQLの作成については助けてください。表Aに、顧客のID、名前、および状態を示します。表Bには、外国キー顧客IDとメンバーカード番号が記載されています。表Cに会員カード番号の売上を示します。A、B、別個のCのSQL結合
select A.cifno, A.cfna1, A.cfstate, B.hbmast.cifno, B.hbmast.hbcid, C.cast(ewmast.ewcid as dec(12,0)) as "eWire ID"
from library.cfmast cfmast join library.hbmast hbmast
on cfmast.cfcif# = hbmast.cifno left join library.ewmast ewmast
on hbmast.hbcid = cast(ewmast.ewcid as dec (12,0))
サンプルデータ:
table A
**A.cifno, A.cfna1, A.cfstate**
J00022, John, OH
B00019, Ben, TX
table B
**B.hbmast.cifno, B.hbmast.hbcid**
J00022, 5555000
B00019, 555500007878
table C
**ewmast.ewcid**
5555000
5555000
5555000
555500007878
所望の出力は次のようになります。
J00022, John, OH, J00022, 5555000, 5555000
B00019, Ben, TX, B00019, 555500007878, 555500007878
- NOT -
J00022, John, OH, J00022, 5555000, 5555000
J00022, John, OH, J00022, 5555000, 5555000
J00022, John, OH, J00022, 5555000, 5555000
B00019, Ben, TX, B00019, 555500007878, 555500007878
あなたがDISTINCT' '聞いていましたか? – Kayser