- 締切済み
SQL文 抽出条件 複数の場合のやり方
下記のような状況では どのようにSQL文を書けばよいのか教えてください。 例) テーブルA 氏名ID 住所 12345 東京都XXX区XXXX町1-1-1 12346 埼玉県XXX市XXXX町1-2-1 ・・・ テーブルB 住所(詳細に記載されているものもあれば、都道府県レベルのものもある) 東京都XXX区XXXX町 東京都▲▲区○○ 北海道 埼玉県◆◆市 ・・・ テーブルBに書いていある住所で始まる 全ての氏名IDを テーブルAから取り出したい。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yamada_g
- ベストアンサー率68% (258/374)
回答No.3
No.2さんフォローありがとうございます。 varchar2型ではないなんて考えもしませんでした。 char型だとしたら確かにうまくいきませんね。 >RTIME(テーブルB.住所) RTRIM(テーブルB.住所) ですね。
- SaKaKashi
- ベストアンサー率24% (755/3136)
回答No.2
No.1の方の方法の場合、テーブルBの住所がvarchar2型でないと正しく動作しません。 もしくは、RTIME(テーブルB.住所) LIKE とするかですね。
質問者
お礼
型で このような書き方をしないといけないことがわかりました。 補足 ありがとうございました。
- yamada_g
- ベストアンサー率68% (258/374)
回答No.1
LIKE条件で記述すればいいのではないでしょうか。 select テーブルB.住所,テーブルA.氏名ID from テーブルB inner join テーブルA on (テーブルA.住所 like テーブルB.住所 || '%') order by テーブルB.住所,テーブルA.氏名ID; でどうでしょう。
質問者
お礼
ありがとうございます。 本内容で試してみます。
お礼
RTRIMで 再度試してみます。