JOINTURE ORACLE SQL
Aura_
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai deux tables A et B, toutes deux avec 4 champs : numero_de_commande, date_debut_commande, date_fin_commande, commentaire.
Ma clé est : numero_de_commande, date_debut_commande, date_fin_commande
Je souhaite récupérer l'ensemble de mes données de la table A, et lorsque ma clé (numero_de_commande, date_debut_commande, date_fin_commande) n'est pas présente dans la table B, je souhaite que mon champs commentaire ajoute par concaténation 'NOT_IN_B'
Mon format final ressemblerait donc a :
121323142 12/08/2018 23/05/2019 COMMANDE SODEXO
120930210 12/06/2019 24/07/2019 COMMANDE ATELIER_NOT_IN_B
Pouvez vous m'aidez ?
J'arrive a voir soit les points communs, soit les différences, mais pas récupérer l'ensemble de A en ajoutant l'information quand la ligne n'est pas dans B...
Merci :)
j'ai deux tables A et B, toutes deux avec 4 champs : numero_de_commande, date_debut_commande, date_fin_commande, commentaire.
Ma clé est : numero_de_commande, date_debut_commande, date_fin_commande
Je souhaite récupérer l'ensemble de mes données de la table A, et lorsque ma clé (numero_de_commande, date_debut_commande, date_fin_commande) n'est pas présente dans la table B, je souhaite que mon champs commentaire ajoute par concaténation 'NOT_IN_B'
Mon format final ressemblerait donc a :
121323142 12/08/2018 23/05/2019 COMMANDE SODEXO
120930210 12/06/2019 24/07/2019 COMMANDE ATELIER_NOT_IN_B
Pouvez vous m'aidez ?
J'arrive a voir soit les points communs, soit les différences, mais pas récupérer l'ensemble de A en ajoutant l'information quand la ligne n'est pas dans B...
Merci :)
A voir également:
- JOINTURE ORACLE SQL
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Requête sql pix - Forum Python
- Requete sql pix - Forum PHP
- Sql jointure - Forum Bases de données
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
peux-tu nous montrer les syntaxes que tu as utilisées et les résultat obtenus?
je suggère, pour commencer, de faire une jointure à gauche affichant tous les champs des deux tables.
quand cela fonctionnera, il suffira de modifier légèrement cette requête.
peux-tu nous montrer les syntaxes que tu as utilisées et les résultat obtenus?
je suggère, pour commencer, de faire une jointure à gauche affichant tous les champs des deux tables.
quand cela fonctionnera, il suffira de modifier légèrement cette requête.
Bonjour,
Le LEFT JOIN me semble être la bonne approche.
Essaie quelque chose comme ça :
Sinon, plutôt que de concaténer en fin de commentaire, tu peux rajouter juste une valeur booléenne (type bit) en mettant
Xavier
Le LEFT JOIN me semble être la bonne approche.
Essaie quelque chose comme ça :
SELECT a.*, a.commentaire || CASE WHEN b.numero_de_commande IS NULL THEN 'NOT_IN_B' ELSE '' END as commentaire_modifie FROM a LEFT OUTER JOIN b ON a.numero_de_commande = b.numero_de_commande AND a.date_debut_commande = b.date_debut_commande AND a.date_fin_commande = b.date_fin_commande
Sinon, plutôt que de concaténer en fin de commentaire, tu peux rajouter juste une valeur booléenne (type bit) en mettant
CASE WHEN b.numero_de_commande IS NULL THEN 1 ELSE 0 END as not_in_b, ce sera plus simple à lire programmatiquement..
Xavier