Vraag : De rijen van de terugkeer slechts die aanpassen

Ik zou alle rijen willen terugkeren als een assignment_id geen ingegane
If een waarde is ingegaan, keer slechts de rijen terug die ingegane assignment_id value
With het volgende vraagconcept aanpassen, als een assignment_idwaarde is ingegaan, het terugkeer de rijen die binnengegaan assignment_id en ook rijen aanpast die een ongeldige assignment_id hebben. Hoe ik de vraag kan construeren om slechts de rijen terug te keren die de ingegane waarde aanpast of als ongeldig of ingegane terugkeer al personeel is.  Wij gebruiken een fuction om een vervanging terug te keren als is ingegaan.

SELECT SLUIT aan VERSCHILLENDE emp_id zich,
p.emp_name,
p.ssn,
p.last_reviewed_date up_to_date,
p.dept,
cpp.assignment,
cpp.assignment_id
VAN personnel_vw p
BINNEN access_check_vw bij vw
OP p.dept_id = vw.dept_id
EN p.dept zoals '%VEHICLE2%'< br/> EN p.active = 'Y'< br/> EN (p.emp_status = „PERMANENT“ en p.assignment_type = „VERKOOP“)
EN vw.pw_id = '111 '
BINNEN SLUITEN aan chk_per_unit_vw cpu
zich OP p.emp_id = cpu.emp_id
EN cpu.unit_id ZOALS get_decode_null („“) -- Functie - als aan %, als niet decodeert, decodeert aan ingegane value
WEGGEGAAN AANSLUITEN chk_per_assignments_vw cpp
zich OP p.emp_id = cpp.emp_id
EN nvl (cpp.assignment_id, „%“) ZOALS get_decode_all („10930“) -- Functie - als aan % decodeert, als niet aan ingegane value
decodeert

Antwoord : De rijen van de terugkeer slechts die aanpassen

Ik denk ik begrijp daarna wat u bent.  Zie of helpt dit.

Het was al het uitgevoerde gebruiken SQL*Plus.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
de zuivering van de dalingslijst tab1;
cre�ër lijst tab1 (col1 varchar2 (10));

tussenvoegsel in tab1 waarden („Hello“);
tussenvoegsel in tab1 waarden („Wereld“);
bega;


var myVar varchar2 (10)
--ingegane will
exec: myVar: = will';
selecteer * van tab1 waar col1 als „%“ || decodeer (: myVar, ongeldige '': myVar) || „%“;

--ingegane ongeldig
exec: myVar: = verklaar nietig;
selecteer * van tab1 waar col1 als „%“ || decodeer (: myVar, ongeldige '': myVar) || „%“;


--ingegane ''
exec: myVar: = '';
selecteer * van tab1 waar col1 als „%“ || decodeer (: myVar, ongeldige '': myVar) || „%“;
Andere oplossingen  
 
programming4us programming4us