Bonjour j’ai un problème qui relève typiquement de SQL.

J’ai une table nommé EMPLOYE avec les champs suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
 COD_EMPL               VARCHAR2(8)            
 NOM_EMPL               VARCHAR2(40)           
 PRE_EMPL               VARCHAR2(40)     
 SEX_EMPL               VARCHAR2(1)            
 POS_EMPL               VARCHAR2(2),
 COD_SIT_ADMI_EMPL      VARCHAR2(40),

Pour obtenir la liste des employés actifs je tape la requête ci après

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Select * from employe a where (a.POS_EMPL='AC' or a.POS_EMPL='DT' or a.POS_EMPL='SU') and cod_sit_admi in (1,3)
J’aimerais obtenir une vue qui me retourne le statut des employé. La structure de ma vue pourra être alors :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Vue_sataut_employe
 
  COD_EMPL               VARCHAR2(8)            
  NOM_EMPL               VARCHAR2(40)           
  PRE_EMPL               VARCHAR2(40)     
  SEX_EMPL               VARCHAR2(1)
  POS_EMPL               VARCHAR2(2),
  COD_SIT_ADMI_EMPL      VARCHAR2(40),
 
  Satut_emp			 NUMBER
Le champs statut pourra alors avoir la valeur 1 si ce test est positif (a.POS_EMPL='AC' or a.POS_EMPL='DT' or a.POS_EMPL='SU') and cod_sit_admi in (1,3), et zéro dans le cas contraire.

J’aimerais savoir quelle fonction je pourrais utiliser pour construire cette vue et comme m’y prendre ? J’espère que je réussis à me faire comprendre. Je suis en train de chercher si la fonction decode que je decouvre aujourd'hui pourrait m'aider.

Merci à tous.