Question : Renvoyer seulement les rangées qui s'assortissent

Je voudrais renvoyer toutes les rangées si un assignment_id n'est pas le
If qu'une valeur est écrite, seulement retour les rangées qui assortissent le value
With d'assignment_id la construction suivante de question, si une valeur d'assignment_id est écrite, il le retour les rangées qui assortit l'assignment_id et également les rangées écrits qui ont un assignment_id nul. Comment ose je construire la question pour renvoyer seulement les rangées qui assortit la valeur écrite ou si la nulle ou le est retour écrit tout le personnel.  Nous employons un fuction pour renvoyer une carte d'invitation si le est écrit. l'emp_id DISTINCT du

SELECT, le
p.emp_name, le
p.ssn, up_to_date du
p.last_reviewed_date, le
p.dept, le
cpp.assignment, le
cpp.assignment_id
du p
de personnel_vw INTÉRIEUR JOIGNENT le vw
d'access_check_vw SUR p.dept_id = vw.dept_id
ET p.dept comme le 'Br/> ET p.active de %VEHICLE2%'< = 'le Br/> de Y'< ET (p.emp_status = « CONSTANTE » et p.assignment_type = des « VENTES ") le
ET vw.pw_id = '111 ' le
INTÉRIEUR JOIGNENT le cpu
de chk_per_unit_vw SUR le
ET cpu.unit_id de p.emp_id = de cpu.emp_id COMME le get_decode_null (« ") -- Fonction - si le décode à %, sinon, décode au value
LAISSÉ JOIGNENT le cpp
de chk_per_assignments_vw SUR le
de p.emp_id = de cpp.emp_id ET le nvl (cpp.assignment_id, « %") COMME get_decode_all (« 10930 ») -- Fonction - si le décode à %, sinon décode au value
écrit class= de

Réponse : Renvoyer seulement les rangées qui s'assortissent

Je pense que je comprends ce qu'êtes ensuite vous.  Voir si ceci aide.

Il a été tout exécuté using le SQL*Plus.
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
purge de la table tab1 de baisse ;
créer la table tab1 (col1 varchar2 (10)) ;

insérer dans les valeurs tab1 (« bonjour ") ;
insérer dans les valeurs tab1 (« monde ") ;
commettre ;


variété varchar2 myVar (10)
--will écrit
exec : myVar : = will';
choisir * à partir de tab1 où col1 aiment « % » || décoder (: myVar, '', nulle : myVar) || « % » ;

--nulle écrite
exec : myVar : = nulle ;
choisir * à partir de tab1 où col1 aiment « % » || décoder (: myVar, '', nulle : myVar) || « % » ;


--entré ''
exec : myVar : = '' ;
choisir * à partir de tab1 où col1 aiment « % » || décoder (: myVar, '', nulle : myVar) || « % » ;
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us