#1 Wed 19 February 2020 15:24
- mstcx
- Participant actif
- Lieu: NĂźmes
- Date d'inscription: 21 Feb 2008
- Messages: 87
SQLExecutor
Bonjour,
J'ai un peu de mal Ă comprendre comment fonctionne SQLExecutor...?
Je souhaiterai faire une jointure dans une base de donnĂ©e (pgsql) avec une source diffĂ©rente (csv). Sauf que je ne sais pas comment appeler ma table csv dans ma requĂȘte ?
J'ai le mĂȘme identifiant dans les 2 tables et souhaite rĂ©cupĂ©rer la gĂ©omĂ©trie et d'autres champs dans a base de donnĂ©e.
Code:
select * from "schema"."table" where "table"."id"='@Value(id)'
Cette requĂȘte ne fonctionne et me renvoie le message suivant :
La requĂȘte SQL contient une expression ou un paramĂštre global qui ne permet pas d'ĂȘtre Ă©valuĂ© sans une entitĂ©. Merci d'exĂ©cuter le traitement Ă la place.
C'est un peu lapidaire...
Merci pour vos lumiĂšres !
Hors ligne
#2 Wed 19 February 2020 21:58
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 455
Re: SQLExecutor
Bonjour,
Dans ce cas il faut ajouter un reader pour le CSV et utiliser DatabaseJoinerpour faire la jointure.
Hors ligne
#3 Thu 20 February 2020 09:33
- mstcx
- Participant actif
- Lieu: NĂźmes
- Date d'inscription: 21 Feb 2008
- Messages: 87
Re: SQLExecutor
Merci pour votre réponse.
Effectivement Databasejoiner fait bien mieux l'affaire. AprÚs consultation du support Vérémes, le problÚme venait aussi du fait que j'avais placé une étoile aprÚs le SELECT. Pour récupérer les champs il faut les écrire "en dur" dans le code.
SELECT
table.champ1,
table.champ2
FROM schema.table...
Hors ligne
#4 Thu 20 February 2020 13:31
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 455
Re: SQLExecutor
Le fait d'utiliser SELECT * n'est pas gĂȘnant. Je viens de faire le test.
Par contre il faut de toutes façons préciser les attributs à exposer. Donc autant ne pas utiliser l'étoile et dÚs le SELECT préciser le nom des attributs.
De maniĂšre gĂ©nĂ©rale utiliser SELECT * est pratique pour tester mais pour ĂȘtre sĂ»r de garder un rĂ©sultat identique dans le temps il vaut mieux prĂ©ciser le nom des champs.
Dernière modification par p.jeremie (Thu 20 February 2020 13:31)
Hors ligne

