2
私は、次の「TABLE1」を持っている:SQLここではOracle PL/SQLのリストを使用していますか?
NAME JOB
Mary pilot, astronaut, cook
John astronaut, biker
Michael rider
Rita teacher, doctor
私は宇宙飛行士や医師であるすべての人を選択します。それはメアリー、ジョンとリタを返すはずです。
私は現在持っている:
select name from table1
where 'astronaut,doctor' in (select regexp_substr(table1.job,'[^'',]+', 1, level)
from dual
connect by regexp_substr(table1.job, '[^'',]+', 1, level) is not null)
をしかし、私はそれを反復処理したいの代わりに、左側に文字列全体を比較する必要はありません。
注:左側の引数は入力引数として取得されているため、SQL内で解析する必要があります。
MSSQL: ' '%の宇宙飛行士%'' – wiretext
MS SQL ServerとOracleの両方のタグのように '%ドクター%' OR JOBなどの どこJOB @temp SELECT * FROMを?どうして? – jarlh
探している2つのジョブが単一の値で提供されることが本当に必要ですか? 'どこか...か....'(tinka提案のような)形式の節も同様に働くだろうか? – Codo