Bonjour.

Sous Oracle, je dispose de 4 tables :
-commande, avec 'id_commande' pour la clé primaire
-brulage, avec 'tc_typecontrat', 'id_offre' et 'id_commande' pour les clés primaires
-offre, avec 'tc_typecontrat', 'id_offre' et 'id_commande' pour les clés primaires
-compte, avec 'id_dossier' pour la clé primaire

Je dois écrire une requête qui permette d'identifier, si elle existe, une offre "PRE" active sur le dossier sur lequel la commande a été réalisée, sinon une offre "POST" et compléter par le code du dossier.

Dois-je passer par le PL/SQL d'Oracle pour traiter cette condition "Si...Sinon" ?
Si oui, pourriez-vous, s'il vous plaît, m'indiquer comment faire ?

Séparément chacune de ces conditions se traiterait comme cela :
Pour qu'une offre "PRE" soit active sur le dossier d'une commande, il faut que le champ datefin de la table offre ne soit pas nul, ce qui donne la requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select offre.id_offre from offre, commande where offre.tc_typecontrat = 'PRE' and offre.datefin is not null and offre.id_dossier = commande.id_dossier
Pour que ce soit une offre "POST", c’est la même requête mais avec offre.tc_typecontrat = 'POST' et en rajoutant compte.code à la clause select.