
現在、ORACLE8.1.7で開発しております。
以下のようなテーブルが3つあります。
【マスタ】 【変換マスタ】
型名 型名 変換型名
--------- --------------------
AAA AAA a
BBB BBB b_
CCC CCC c_d
【商品マスタ】
番号 商品名
-----------
1 a
2 abc
3 b
4 bc
5 bcd
6 c
7 cc
8 ccd
9 cccd
1)マスタから変換マスタを型名をキーにして検索。
2)1)で取得した変換型名をキーにして、商品マスタを検索。
このとき、完全一致ではなく、あいまい検索で行う。
※ここで抽出されるのは、これです↓
1 a
2 abc
4 bc
5 bcd
8 ccd
にたような質問がありましたので、これを参考にして、先頭が一致するものはできました。
しかし、ワイルドカード『_』が入った場合でのSQL文がどうしても書けません。
1行のSQL文で書きたいのですが、どなたがご存じの方がいらっしゃったら教えてください。
≪先頭が一致するSQL文≫
SELECT 商品マスタ.番号,商品マスタ.商品名 FROM マスタ,変換マスタ,商品マスタ
WHERE マスタ.型名 = 変換マスタ.型名
AND 変換マスタ.変換型名 = SUBSTR(商品マスタ.商品名,1,LENGTH(変換マスタ.変換型名))
≪参考にした質問≫
http://oshiete1.goo.ne.jp/kotaeru.php3?q=375213
No.1ベストアンサー
- 回答日時:
こんにちわ。
ちょっと確認してみました。
【マスタ表】
SQL> select * from mst;
ITEM_TYPE
----------
AAA
BBB
CCC
【変換マスタ表】
SQL> select * from conv_mst;
ITEM_TYPE CONV_NAME
---------- ----------
AAA a
BBB b_
CCC c_d
【商品マスタ表】
SQL> select * from item_mst;
ITEM_NO ITEM_NAME
---------- ----------
1 a
2 abc
3 b
4 bc
5 bcd
6 c
7 cc
8 ccd
9 cccd
【確認結果】
SQL> select item_no, item_name from item_mst, conv_mst, mst
where item_name like conv_name || '%' and
conv_mst.item_type = mst.item_type;
ITEM_NO ITEM_NAME
---------- ----------
1 a
2 abc
4 bc
5 bcd
8 ccd
環境は、Oracle8i R8.1.7.4.1 を使いました。
如何でしょうか?
早速の回答ありがとうございます!
以前、『Like文はだめだった』という覚えがあったので、
Like文を使わない方向で考えていました。
たぶん、当時のデータがまずかったんだと思います(苦笑
同じやり方でできました!
ありがとうございましたm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
- Excel(エクセル) Excel関数 情報引用する方法 4 2022/07/31 20:59
- Excel(エクセル) IFERROR、SMALL関数について 2 2022/08/22 23:40
- Excel(エクセル) vba userformで漢字を全角カタカナに 2 2022/07/24 15:38
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXISTSを使ったDELETE文
-
PL/SQLの質問
-
SQL2005 クエリ文について
-
サブクエリの書き方
-
マスタについて
-
sqlserver2005 JOINしてUNION
-
SQL文で、合計が0のレコードを...
-
SQLで、二つのテーブルが条件に...
-
ビューの更新タイミング
-
Accessの実行時エラーについて
-
ACCESS初心者です。
-
DBが複雑すぎる
-
アクセスにて月末日付を取得し...
-
AccessVBA データのエクスポート
-
日付の範囲検索で
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
誰か教えてください
-
列番号による項目の取得について
-
PL/SQLのエラー処理について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXISTSを使ったDELETE文
-
SQL文で、合計が0のレコードを...
-
Accessの実行時エラーについて
-
日付により変動する「単価」を...
-
ACCESS 商品毎の最新の単価を設...
-
ACCESS ツリービューの作り方
-
ACCESSでクエリ作成時複数のフ...
-
アクセス フィールド名に変数...
-
異なるデータベース間のテーブ...
-
前月の取得について
-
最大値を含むレコードの抽出
-
AS400にてサブファイルレコード...
-
オートナンバーでの質問
-
PL/SQLの質問
-
ACCESSでDLookUpすると、不正な...
-
はじめまして。スーパーbeginne...
-
Access2013で商品に複数の単価...
-
Access 小計について
-
ACCESSのマスタの変更について
-
テーブル名の トラン マスタ...
おすすめ情報