Bonjour,
J'essaie de faire une requête avec plusieurs jointures.
Dans une des jointures intermédiaires, j'aimerais pouvoir réaliser un test dans la requête.
C'est à dire que si la valeur de mon égalité ne renvoie rien ou si la valeur de l'égalité n'est pas vrai, j'aimerais qu'elle renvoie NULL.
En résumé j'ai fait qqch comme cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT helpdesk_sla_steps.role, my_log.blablabla FROM my_log left join helpdesk_sla_request on helpdesk_sla_request.activity_type = my_log.activity_type AND helpdesk_sla_request.bl_id = my_log.bl_id AND helpdesk_sla_request.site_id = activity_log_hactivity_log.site_id left join helpdesk_sla_steps on helpdesk_sla_request.activity_type = my_log.activity_type and helpdesk_sla_steps.ordering_seq= helpdesk_sla_request.ordering_seq
Là ou je botte en touche c'est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 AND helpdesk_sla_request.bl_id = my_log.bl_id AND helpdesk_sla_request.site_id = activity_log_hactivity_log.site_id
Les champ my_log.bl_id et my_log.site_id n'ont pas forcément de correspondances dans la table helpdesk_sla_request.
Donc s'ils n'existent pas (que ce soit parce qu'ils sont NULL ou parce que la valeur ne correspond pas), j'aimerai que helpdesk_sla_request.bl_id=NULL et helpdesk_sla_request.site_id=NULL. Ceci afin de déduire la valeur helpdesk_sla_request.ordering_seq que j'ai besoin dans ma jointure suivante. En effet, chaque élément de helpdesk_sla_request possède des entrées avec des valeurs NULL pour bl_id et site_id afin d'avoir un résultat générique. Et s'ils sont spécifiés, alors mon ordering_seq aura une valeur spécifique.
Pouvez-vous m'expliquer la méthode à suivre ? j'ai essayé plusieurs heures, mais je n'arrive à rien. J'ai toujours des doublons.
Partager