• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カンマが入った文字列をIN演算子で利用する方法)

カンマを含む文字列をIN演算子で利用する方法

このQ&Aのポイント
  • OracleのSQLにおいて、カンマを含む文字列をIN演算子で利用する方法について教えてください。
  • テーブルAの項目「材料一覧」にはカンマ区切りでデータが入っており、同じくテーブルAの項目「材料」には一つの材料が入っています。
  • 「材料」の値が「材料一覧」に存在しているデータを抽出するための方法を教えてください。

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

  • ベストアンサー
  • kawais070
  • ベストアンサー率52% (2242/4282)
回答No.2

SELECT * FROM テーブルA WHERE INSTR(材料一覧 , 材料) > 0 でどうかな?

re_na_chu
質問者

お礼

お礼が遅くなり申し訳ございません。 INSTRなんて方法があったんですね。これならばっちりできそうです。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

「SELECT 材料一覧 FROM テーブルA 」で持ってきてからカンマで分解すれはいいよ、きっと。

re_na_chu
質問者

お礼

お礼が遅くなり申し訳ございません。 二回にわける方法ですね。参考になりました。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル表で重複するデータ(文字列)の抽出について

    このサイトで検索してもわからなかったので教えてください。 料理とその料理に使用する材料がわかる表を作成しました。 各々の料理に入っている材料は別シートにデータをいれてあり、セルから料理を選べば材料が一覧で出てくるようになっています。 この場合、料理を2種選択した時に重複する材料を別のセルに抽出したいのです。 そしてその材料の金額をまた別のシートのデータから持ってきたいと思っています。        重複する材料   その材料の金額 1 ジャガイモ        200           ←この重複する材料の真下のセル(今はジャガイモ 2 小麦粉          150            というデータが入っているセル)にいれる関数 3 エビ            300            がわかりません。 4 5 6 7 8 9 ここからまた別の表で 10 料理名A    料理名B    料理名C      料理名D 11 カレー     オムライス    ピザ        お好み焼き  12 ジャガイモ   卵         小麦粉      小麦粉  13 人参       ひき肉      チーズ      豚肉 14           白米        ジャガイモ   エビ 料理名の真下のセルからプルダウンで料理名を選べば11行目~に材料が出るようにはしてあります。(そこまでの関数はわかりました。) 上記の例の場合、4種の料理で重複する材料は ジャガイモ 小麦粉 エビ なのですが、 それを2行目~に表示できるようにしたいのです。 その表示が出来れば、別のシートに作成した、材料⇔金額一覧からその重複材料の金額を表示できるようにしたいです。(VLOOKUPという関数で出来ますよね?) 材料は1料理当たり最大18種類です。 料理の種類は130あります。 わかりにくい質問になってしまい申し訳ありません。 どなたかご教授宜しくお願いいたします。 15                      エビ 

  • 1つのSQL文で文字列を置換する方法を教えてください。

    以下のようなテーブルで、項目aに入力されているデータに含まれている[aaaa]を[bbbb]に置き換えたいのですが、どなたか1回で置き換えられるSQL文を教えていただけないでしょうか。 どうぞ、宜しくお願い致します。 table:TEST [項目名]/[データ]  a / aaaaみかんりんご ■変換後■ [項目名]/[データ]  a / bbbbみかんりんご

  • MSアクセス 利用方法

    アクセス超初心者です。 現在エクセルを利用して、5万行のデータから2千行のデータを抽出しています。 データ数が20万行くらいになりそうなので、アクセスを利用したいのですが、利用方法を教えてください。 現在の条件は3段階で、 データ 番号 名前 0001 青木 0001 青木 0002 石田 0002 赤木 0003 石田 0003 赤木 0007 澤田 :  : (1) 重複するデータを削除  0001 青木 を一行に (2) 名前に注目したときに、番号(行)がX(例2)個以上ある行を pick up  0002 石田  0002 赤木  0003 石田  0003 赤木  を残す (3) 特定の名前(別にテーブルがある:例 石田)に該当する行を削除  0002 赤木  0003 赤木  を残す  という手順です。  方針としては、 A. (1)→(2)→(3) と抽出を書けるごとにテーブルを作成して作業を進める B. アクセスでは逐次テーブルを作成しないでも出来る  どちらなのでしょうか。  つたない説明で申し訳ありません。 よろしくお願いいたします。

  • VLOOKUP関数 列番号の設定の仕方教えて下さい

    VLOOKUP関数の列番号を 1、2、とかではなく、 計算して列番号を設定することはできますか? シート2 に入っているデータを参照して シート1 に関数をいれて、表示させたいと思っています。 シート2 データは 3行目に、項目(品名、(1)材料名、(2)数量、(2)材料名、(2)数量、...、(10)材料名、(10)数量) A列、 B列、 C列、 D列、 E列、...、 M列、 N列 クッキー、小麦粉、100、卵、1、...、砂糖、20 クラッカー、小麦粉、100、米粉、10、...、りんご、0.2 が入っていて、4行目から100行目くらいまでデータがはいっています。 シート1 の セルA5に品名を入力すると、 シート2の(1)材料名がセルA6に、 (1)数量がセルB6に、 (2)材料名がセルA7に、 (2)数量がセルB7に、 ... (10)材料名がセルA15に、 (10)数量がセルB15に、 入るように作りたいのですが、VLOOKUPの列番号を COLUMNやINDEXなど試してみましたが、エラーばかりで うまくできません...VLOOKUPでは無理なのでしょうか? どなたか詳しい方教えてください。よろしくお願いします・

  • 一致したデータ同士を文字列で繋げるには?

    何か方法があれば教えて頂きたのです。 SQLで一致したデータの項目同同士を繋げることができるかどうか。 具体的には以下のような。 ID   名前 ------------ A1 SQL A1 My A2 Server のような結果が出るようなSQL文を作ったとして ID   名前 ------------ A1 SQL,My A2 Server みたいな同じIDの名前を例のようなカンマとかスラッシュ 等を間に入れてつなげていくなんてことできますか? 実際にはSQL文で出たデータを各配列にそれぞれデータに入れて使う のでSQL文の中で仮に出来なくても結果に対してそのようにつなげることが可能かどうか。

    • ベストアンサー
    • MySQL
  • 「・」中点が入った文字列を条件にするとデータを抽出できないです

    「・」中点が入った文字列を条件にすると データを抽出できないです。 うまくいかない例 ------------------------------------------- $name = "春・春・春"; $Sql = "SELECT * FROM TestList"; $Sql .= " WHERE SpName = '".$name."'"; ------------------------------------------- 条件を変数に格納してSQL文に渡すと何も抽出できません。 しかし↓のようにSQLに直に「春・春・春」とすると うまくデータが抽出されます。 うまくいった例 ------------------------------------------- $Sql = "SELECT * FROM TestList"; $Sql .= " WHERE SpName = '春・春・春'"; ------------------------------------------- また「・」中点がない条件では変数で渡しても データがうまく抽出されます。 どうしたら「・」中点が入っている条件を 変数に格納してSQLに渡しても うまくデータが抽出されるでしょうか? どなたかご教示いただけますと助かります。 よろしくお願いします。

  • データベースの並び替えキーと列の指定方法

    シートに売上データ表があります。A列~AG列2行目に列項目、3行目以降にデータが入っています。これを基に並び変えや、データ抽出をしたいのですが、使用目的によって、並び替えキー項目や削除したい列項目が変わってきます。その為、マクロを組んでも、毎回指定した列を変更しなければならず、困っています。例えばA列1行目~C列1行目に列番号(A,D,F)や、列項目名を入力したら、その列を削除したり、その項目名順に並び替えをする様な事は出来ないのでしょか? 検索・抽出では、同じ列項目名+空白1行の表に検索したい条件を入れれば、その都度抽出出来るのですが。

  • エクセル フィルタオプションで 特定の文字列を含む行を全て抽出する方法がわかりません

    エクセル2002を使用しています。 エクセルフィルタオプション設定で、特定の文字列を含む行を全て抽出する方法がわかりません。 たとえば sheet1    A    B    C    1 項目1 項目2 項目3  2  あ   い    う    3  う        あ    4  え        い 5      う       Sheet2   A         B         1 抽出文字列 2 あ  3   4 (計算式) 5 (以下抽出結果)   上記のようなデータがあり、sheet2!a5以降に「あ」が該当する行を全て抽出するといった式を組みたいのですが、 Sheet2 a2に抽出文字を入力し、a4に「=or(sheet1!a2=a2,sheet1!=a2,sheet1!=a2)」といった検索条件式を組み、フィルタオプションで、 ・リスト範囲 Sheet1!$a$1:$c$5 ・検索条件範囲 $a$3:$a$4 ・抽出範囲 $a$5  と指定するのですが、うまく抽出できません。 ちなみに抽出対象が文字列でなく数字なら(たとえばSheet1のデータの文字をあ→1 い→2のように全て数字に置き換えてSheet2!a2に1を入力)抽出できるのですが・・・ 文字列をセル参照して条件式を組む場合に何か気をつけることがあるのでしょうか?文章が長くなってしまい申し訳ありません。良い方法があればご教授お願いします。

  • SQL文 特定のレコードを抽出したい

    以下のようなテーブルAがあったとします。 年月日,項目B ---------------------- 20080101 100 20080102 100 20080103 200 20080104 400 20080105 400 20080106 200 SQL文にて、データの抽出を行いたいのですが、 抽出したいのは、データに変更があった年月日と項目Bの値です。 年月日,項目B ---------------------- 20080101 100 20080103 200 20080104 400 20080106 200 前の年月日と比較し、項目Bに違いがあった場合のデータだけ抽出したいのですが、SQL文で行うことは可能でしょうか?? 環境は、SQL Server 2005 です。

  • 文字列連結を行いたい

    以下のようなテーブル「TABLE_A」があります。 何とかSQLで抽出結果のようにしたいのですが、 方法が思いつきません。 【TABLE_A】  CODE | HIDUKE  -----|------------  1 | 2005/06/01  1 | 2005/06/02  1 | 2005/06/03  2 | 2005/06/01  2 | 2005/06/03 【抽出結果】  CODE | rst  ---------------------------------------------  1  | 2005/06/01 2005/06/02 2005/06/03  2 | 2005/06/01 2005/06/03  (列「CODE」単位に列「HIDUKE」を文字列連結を行う) どなたかご教授ください。 よろしくお願いいたします。