Fråga : Gå tillbaka ror endast den match

Alla tillbaka jag skulle något liknande för att gå ror, om en assignment_id inte är skriven in
If som en värdera skrivs in, only retur ror som matchar den skrivna in assignment_idvalueWith efter querytankeskapelsen, om en assignment_id värderar skrivs in, den retur ror att matcher den skrivna in assignment_iden och ror också som har en ogiltig assignment_id. Hur kan I-tankeskapelsen, queryen som går endast tillbaka ror att skrivna in matchvärderar, eller om ogiltig eller är skriven in retur alla personaler.  Vi använder en fuction för att gå en wildcard tillbaka, om skrivs in. DISTINKT emp_id för

SELECT,
p.emp_name,
p.ssn, up_to_date för
p.last_reviewed_date,
p.dept,
cpp.assignment,
cpp.assignment_id
FRÅN INRE personnel_vwp
SAMMANFOGAR access_check_vwvw
PÅ p.dept_id = vw.dept_id
, OCH för p.dept INRE lik '%VEHICLE2%'<-br/> OCH p.active = 'Y'
OCH (p.emp_status =
”för PERMANENTEN” och p.assignment_type = ”SALAR)
OCH vw.pw_id = 'SAMMANFOGAR chk_per_unit_vwcpu
PÅ p.emp_id- = cpu.emp_id-
OCH LIK get_decode_null för cpu.unit_id (””) -- Fungera - om avkoda till %, om inte, avkoda till den LÄMNADE skrivna in value SAMMANFOGAR chk_per_assignments_vwcpp
PÅ p.emp_id- = cpp.emp_id-
OCH get_decode_all för för nvl (cpp.assignment_id, ”%”) LIK (”10930”) -- Fungera - om avkoda till %, om inte avkoda till den skrivna in value " klar "

Svar : Gå tillbaka ror endast den match

Funderare I jag förstår vad du är after.  Se, om detta hjälper.

Det utfördes all using SQL*Plus.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
tappa bordlägger laxermedel tab1;
skapa bordlägger tab1 (col1 varchar2 (10));

sätt in in i tab1 värderar (”hälsningar);
sätt in in i tab1 värderar (”världen”);
begå;


var myVar varchar2 (10)
--skriven in will
exec: myVar: = will';
välj * från tab1 var col1 lika ”%”, || avkoda (: myVar '', ogiltigt: myVar) || ”%”;

--skrivet in ogiltigt
exec: myVar: = ogiltigt;
välj * från tab1 var col1 lika ”%”, || avkoda (: myVar '', ogiltigt: myVar) || ”%”;


--skrivet in '',
exec: myVar: = '';
välj * från tab1 var col1 lika ”%”, || avkoda (: myVar '', ogiltigt: myVar) || ”%”;
Andra lösningar  
 
programming4us programming4us