|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Inscription : juin 2011 Messages : 36 ![]() |
J'ai une petite table de référence avec des intitulés pour une clé consitutée de deux variables. Par exemple :
Code :
Code :
MAIS : Mon problème est que ce n'est pas un lien direct d'équivalence puisqu'il y a beaucoup plus de possibilités dans la table sitac et que je dois faire une correspondance logique lors du lien selon des règles précises : - Si la combinaison v1/v2 de l'enregistrement de la table sitac est présente dans la table sit, alors effectuer le lien normalement. Ex. pour les 3 premières lignes de sitac, obtenir de façon logique les résultats suivants : 75 1 Pierre Paris1erarr 75 2 Paul Paris2ndarr 75 3 Jacques Paris3earr Si seul le v1 (mais pas le v2) de la combinaison v1/v2 de l'enregistrement est présente dans la table sit, alors effectuer le lien uniquement sur le v1. Ex. pour les lignes 4 à 6 de sitac, obtenir les résultats suivants : 94 1 Marie VdM 94 2 Laeticia VdM 94 3 Christophe VdM - Si v1 n'est pas présent dans la table sit (quel que soit la valeur de v2), alors lier avec le 99/99 de la table sit. Ex. pour les lignes 7 à 9 de sitac, obtenir les résultats suivants : 92 1 Philippe Indéterminé 92 2 Amélie Indéterminé 92 3 Arnaud Indéterminé J'ai abordé cette question en pensant pouvoir créer la table finale que je souhaite avec un proc sql mais je me suis aperçu que je ne savais pas mettre de condition lors de la création du lien ("where if" ???). Est-ce possible ? Ou avec un merge (que j'utilise très peu...) ? (Mon problème se complique après dans un second temps mais déjà si j'arrive à régler ce premier soucis je saurais peut-être également coder la seconde partie...) Merci d'avance |
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour.
Ça ressemble beaucoup à un besoin à traiter en SQL. En tout cas beaucoup plus qu'avec un MERGE. Code :
Bon courage. Olivier |
||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juin 2011 Messages : 36 ![]() |
Impeccable, merci Olivier.
![]() Je suis en train de regarder un peu en détail comment fonctionne le COALESCE pour pouvoir l'adapter à mon problème initial - simplifié dans le fuseau que j'ai posté ici. (Je mets le fuseau comme résolu mais au besoin je reviens ici si je bloque encore pour la suite ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com