aşağıdaki "table1" bulunmaktadır:SQL, Oracle PL/SQL'deki listelerin neresinde?
NAME JOB
Mary pilot, astronaut, cook
John astronaut, biker
Michael rider
Rita teacher, doctor
astronot YA doktor olan tüm insanları seçmek istiyorum. Mary, John ve Rita'yı iade etmeli.
Şu anda var:
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)
Ancak, sol taraftaki bütün dizeyi karşılaştırmak istemiyorum, onun yerine ben yineleme yapmak istiyorum.
Not: Soldaki argümanı giriş argümanı olarak alıyorum, bu yüzden sql içinde ayrıştırılması gerekir.
MSSQL: Bu izin vermez '@temp seçin * nerede '% astronot%'' – wiretext
MS SQL Server ve Oracle Hem etiketleri gibi '% doktor%' VEYA İŞ gibi İŞ? Nasıl olur? – jarlh
Gerçekten aradığınız iki işin tek bir değerde sunulması zorunlu mu? Bir teneke "nerede ... veya ...." (teneke gibi önerildi) formu da işe yarar mı? – Codo