Recherche multiple dans des tables de CSV - SQL/NoSQL - Programmation
Marsh Posté le 24-01-2007 à 13:38:14
Essaie
=>
select ... where substr(description,1,3) = monchamp
t'as quel SGBD car niveau fonction tu peux
avoir à la place de substr
=>
Subst , Substring, Mid, Copy ... dépend de ton SGBD ...
Marsh Posté le 24-01-2007 à 13:41:27
euhhh c est pour mettre dans un script VB, donc ...
Microsoft Jet OLEDB je suppose.
mais j y connais pas grand chose, je découvre ... al aide d exemple et de tuto que je trouve sur le net
Marsh Posté le 24-01-2007 à 13:45:39
En fait, je crois que c est pas clair ... Je vais donner un exemple.
J ai une table : appelon la Table1 (original)
718233 Toto
718368 Titi
708652 Tutu
915879 tata
230489 Lulu
718988 Mimi
et j ai une table 2:
708
718
Et j'ai donc besoin d une requete qui me retournerait :
718233 Toto
718368 Titi
708652 Tutu
718988 Mimi
Marsh Posté le 24-01-2007 à 13:56:18
Essaie ça, faudrait savoir avec quoi ton VB est interfacé :
Oracle, Db2, Sql server ... Access ?
=>
select table1.monchampde6 , table1.monchamplib
from table1, table2
where substring(table1.monchampde6,1,3) = table2.monchampde3
(ou
select table1.monchampde6 , table1.monchamplib
from table1 inner join table2
on substring(table1.monchampde6,1,3) = table2.monchampde3)
Si erreur de syntaxe essaie de remplacer substring avec substr ... mid, copy ...
ok ?
Marsh Posté le 24-01-2007 à 14:11:35
vttman2 a écrit : Essaie ça, faudrait savoir avec quoi ton VB est interfacé : |
avec csv .... et je crois que tout mon probleme va venir de la ...
Marsh Posté le 24-01-2007 à 14:30:01
Bon ba j ai reussi.
Pour la posterité :
Code :
|
vttman2 Merci tout plein pour le MID( )
Marsh Posté le 24-01-2007 à 15:58:24
Bon en faite, si, encore un petit problème:
Description est pris comme un champs d'entier, est ce que quelqu'un serait comment forcer un texte ?
Marsh Posté le 24-01-2007 à 17:20:35
cstr() je pense.
sinon, tu le concatènes avec ''
Marsh Posté le 24-01-2007 à 19:56:23
non en fait, c est carement le moteur ODBC qui remonte le mauvais genre. j ai trouvé d autre cas similaire sur le net. a parament il faudrait metre un fichier Jesaisplusquoi.ini pour definir ce qui est dans le fichier.
le : Jesaisplusquoi, je l ai au boulot, je le posterais demain
Marsh Posté le 25-01-2007 à 14:17:29
Bon, voila, je me remet sur mon petit script ....
le fichier est un : Schema.ini
Bon, mission dui jour ... comment on genere un tel fichier...
Marsh Posté le 25-01-2007 à 14:19:32
Le titre ne veut rien dire, mais y'a des exemple de fichier Schema.ini dedans
http://support.microsoft.com/kb/146224/fr
Marsh Posté le 25-01-2007 à 14:20:05
C'est quand même beau
Citation : HOWTO : à travers est dépassé par Utiliser l'authentification SQL d'établir une connexion dans des fichiers texte ASCII |
Marsh Posté le 25-01-2007 à 14:51:20
Oui, j ai reussi a creer mon fichier .ini.
pas trop dur en fin de compt.
mais la.. je but sur un autre probleme : mon fichier csv est un peut tout crade, et ma table ressemble plus a :
718233 Toto
00718368 Titi
708652 Tutu
915879 tata
230489 Lulu
718988 Mimi et j ai une table 2:
708
718
donc la, MID va plus trop ... domage, je l'aimais bien ....
une idee ?
Marsh Posté le 25-01-2007 à 15:10:51
disons que "prefix" est une table qui contient un champ "val" qui contient tous tes préfixes.
"matable" est ta table CSV
Code :
|
Sinon :
Code :
|
Je préfère la première solution
Marsh Posté le 29-01-2007 à 16:16:57
Bon, en fin de compt, j ai fais comme ca :
Code :
|
puis derriere un autre :
Code :
|
ce que je comprend pas, c est qu en théorie, en réunissant ces deux requêtes, je devrais retrouver ma base de départ.
Hors, j'en ai 1211 qui passent a la trappe ....
et les retrouver parmi 75000.... pas évidant
Marsh Posté le 30-01-2007 à 08:25:43
ouai, mais en fait c est plus compliqué que ca, il faut a tout pris que le code de recherche soit a 6 caracteres de la droite.
si j ai bien compris ta requete, il detecera aussi bien :
718000
que
000718
me trompe je ?
Marsh Posté le 30-01-2007 à 10:49:07
Je pense que tu te trompes, oui.
Je pige pas ton problème.
Mettons que tu as ça dans ta table des préfixes :
123
456
654321
Et ça dans tes données :
000123
123000
456123
11234
654321000
126543210
321456
Ca va retourner :
123000
456123
654321000
Re tirn d'autre.
Marsh Posté le 24-01-2007 à 13:01:01
Salut,
Je cherche a remplacer une requete du genre :
J avais pour idée de creer une table a part avec tout mes codes (708, 718, 915,...)
mais dans Description, j'ai par exemple : 718265, 708652,...
et la je seche,... si quelqu'un peut me donner une piste ...
Merci
Message édité par Z_cool le 24-01-2007 à 14:31:18