• ベストアンサー

比較抽出方法(?)

比較抽出方法(?)は造語です… テーブル名:TMSBTM UARKECD USTCYDIS -------- -------- 00020345 99999999 00032115 00032115 00032115 99999999 00032119 00071000 00032119 00072000 00032119 00073000 00032119 99999999 00032375 00020000 00032375 00021000 00032375 00022000 00032375 00032376 00032375 00032377 00032375 99999999 00032645 00031000 00032645 00032000 00032645 00032647 00032645 00032648 00032645 00032649 00032645 00061000 00032645 00062000 00032645 00063000 00032645 00064000 00032645 00065000 00032645 99999999 00032646 00032646 00032646 99999999 00032815 00032815 00032815 99999999 00032820 00011000 00032820 00012000 00032820 00013000 00032820 00014000 00032820 00015000 00032820 00051000 00032820 99999999 00032985 00032985 00032985 99999999 テーブル名:THJKYF UARKECD USTCYDIS -------- -------- 00032119 00072000 00032119 00073000 00032645 00062000 00032645 00064000 00032645 00065000 00032820 00051000 00032985 00032985 TMSBTMにあって、THJKYFに無いTMSBTMの列名を抽出したい。 イメージとしては select * from TMSBTM where UARKECD,USTCYDISECD != select DISTINCT UARKECD,USTCYDISECD from THJKYF; こんな感じです。トホホです。 Oracle 7.3.3のSqlplusです。 かなりとほほな質問とは思いますがお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

うんオラクルは自信がない。 select * from TMSBTM where UARKECD || USTCYDISECD != (select UARKECD || USTCYDISECD from THJKYF) かな?それとも select * from TMSBTM where UARKECD || USTCYDISECD not in (select UARKECD || USTCYDISECD from THJKYF) かな

UFOUFO
質問者

お礼

not in でしたかー おかげさまでうまいこといきました。 ありがとうございました。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

普通はnot existsを使用します。 http://www.okweb.ne.jp/kotaeru.php3?q=321467 をどうぞ。 あとは、外部結合させてTHJKYF側がNULLになるレコードを抽出するかですね。 Accessの不一致クエリーはウィザードでこれが作られます。

UFOUFO
質問者

お礼

exists存在する抜き出し(?)のnotですね。 ありがとうございました。 SQLもっと勉強せねば…

関連するQ&A