|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Astrid Genet Inscription : novembre 2010 Messages : 43 ![]() |
Bonjour,
Je dispose d'une liste de parcelles (750) sélectionnées dans un fichier .txt. J'ai par ailleurs une base de données SAS contenant 35000 parcelles dont je voudrai extraire celles référencées dans le fichier .txt. Quelqu'un aurait-il une idée? Je pensais éventuellement à une macro-variable avec une boucle for. Merci! Astrid |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Salut Astrid,
Tu peux fusionner les deux tables en sélectionnant des données communes aux deux tables (si tu as des variables communes aux 2 bien sûr). Si c'est pas le cas: Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
+1 sam, la longueur d'une macro variable est limitée. Si la version sas qu'utilise Astrid est récente et la longueur des chaines de ses variables pas trop longue on peut supposer que la liste ne sera pas tronquée.
Une autre solution en passant par sql imbriqué: Code :
|
||
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Citation:
La solution de Manoutz est mieux je pense. |
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() |
Bonjour,
La meilleur solution c'est un merge ou une jointure; le "IN" peut être utilisé quand le nombre d'éléments dans la liste est faible. Code :
WHERE var IN ( SELECT DISTINCT var FROM parcel_750) Cordialement
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
apparemment il n'y a pas de connexion oracle ici (à ma connaissance, le problème ne se pose pas quand on reste sous sas).
mais la jointure classique est une autre possibilité, c'est clair. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com