kadichon
XLDnaute Nouveau
Bonjour à tous et à toutes,
comme d'habitude je fais un appel à l'aide en dernier recours car malgré de nombreuses recherches et essais pas de solution à l'heure actuelle. J'espère aussi que ce fil servira lors de problèmes similaires dans le futur car ma recherche sur le forum est infructueuse.
Explication du problème:
- J'attaque depuis Excel des bases Oracle (Sage) utilisant les sources de données ODBC.
- Nous avons différents pays (10), et chaque pays a sa propre base;
- Afin de ne pas faire 10 requêtes mais une seule j'ai édité le code SQL dans Microsoft query directement avec une instruction UNION.
Tout fonctionne bien jusqu'au moment où j'ai souhaité ajouter dans la restitution un champ qui n'existe pas dans les tables sources mais qui contiendrait le code du pays source.
Illustration:
Code source exemple avec l'Italie et l'Espagne (les tables se nomment SORDER):
SELECT SORDER.SOHNUM_0, SORDER.SALFCY_0, SORDER.BPCORD_0, SORDER.ORDDAT_0, S
FROM DBITALY.SORDER SORDER
UNION
SELECT SORDER.SOHNUM_0, SORDER.SALFCY_0, SORDER.BPCORD_0, SORDER.ORDDAT_0, S
FROM DBSPAIN.SORDER SORDER
Et lorsque j'essaie une insertion de champ comme suit:
SELECT 'ITALY' as [MASOURCE], SORDER.SOHNUM_0, SORDER.SALFCY_0, SORDER.BPCORD_0, SORDER.ORDDAT_0, S
FROM DBITALY.SORDER SORDER
UNION
SELECT 'ESPAGNE' as [MASOURCE], SORDER.SOHNUM_0, SORDER.SALFCY_0, SORDER.BPCORD_0, SORDER.ORDDAT_0, S
FROM DBSPAIN.SORDER SORDER
J'ai un message d'erreur "ORA-00923: FROM keyword not found where expected".
Le but est simplement d'ajouter un champ qui n'existe pas dans les tables sources avec une valeur saisie en dur pour chaque pays.
Est-ce qu'il y aurait un gourou SQL / Excel qui aurait déjà eu cette même idée tordue avec une solution appropriée?
Merci déjà à ceux qui ont lu ce message, et bonne journée à tous.
Bien amicalement,
comme d'habitude je fais un appel à l'aide en dernier recours car malgré de nombreuses recherches et essais pas de solution à l'heure actuelle. J'espère aussi que ce fil servira lors de problèmes similaires dans le futur car ma recherche sur le forum est infructueuse.
Explication du problème:
- J'attaque depuis Excel des bases Oracle (Sage) utilisant les sources de données ODBC.
- Nous avons différents pays (10), et chaque pays a sa propre base;
- Afin de ne pas faire 10 requêtes mais une seule j'ai édité le code SQL dans Microsoft query directement avec une instruction UNION.
Tout fonctionne bien jusqu'au moment où j'ai souhaité ajouter dans la restitution un champ qui n'existe pas dans les tables sources mais qui contiendrait le code du pays source.
Illustration:
Code source exemple avec l'Italie et l'Espagne (les tables se nomment SORDER):
SELECT SORDER.SOHNUM_0, SORDER.SALFCY_0, SORDER.BPCORD_0, SORDER.ORDDAT_0, S
FROM DBITALY.SORDER SORDER
UNION
SELECT SORDER.SOHNUM_0, SORDER.SALFCY_0, SORDER.BPCORD_0, SORDER.ORDDAT_0, S
FROM DBSPAIN.SORDER SORDER
Et lorsque j'essaie une insertion de champ comme suit:
SELECT 'ITALY' as [MASOURCE], SORDER.SOHNUM_0, SORDER.SALFCY_0, SORDER.BPCORD_0, SORDER.ORDDAT_0, S
FROM DBITALY.SORDER SORDER
UNION
SELECT 'ESPAGNE' as [MASOURCE], SORDER.SOHNUM_0, SORDER.SALFCY_0, SORDER.BPCORD_0, SORDER.ORDDAT_0, S
FROM DBSPAIN.SORDER SORDER
J'ai un message d'erreur "ORA-00923: FROM keyword not found where expected".
Le but est simplement d'ajouter un champ qui n'existe pas dans les tables sources avec une valeur saisie en dur pour chaque pays.
Est-ce qu'il y aurait un gourou SQL / Excel qui aurait déjà eu cette même idée tordue avec une solution appropriée?
Merci déjà à ceux qui ont lu ce message, et bonne journée à tous.
Bien amicalement,