{Base 000} Erreur sur jointure de deux tables

Fermé
steph70190 Messages postés 13 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 13 août 2009 - 13 août 2009 à 10:25
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 - 18 août 2009 à 18:07
Bonjour a tous,

Je suis tout nouveau sur Base et je cherche a faire une jointure sur deux tables .csv.

Ma requête est :
SELECT D_STO2.mag,D_STO2.code_art,D_STO2.campagne,D_STO2.st_juill,D_STO2.st_aout,D_STO2.st_sept,D_STO2.st_oct,D_STO2.st_nov,D_STO2.st_dec,D_STO2.st_janv,D_STO2.st_fevr,D_STO2.st_mars,D_STO2.st_avril,D_STO2_mai,D_STO2_juin,D_PMA2.pmaar_juill,D_PMA2.pmaar_aout,D_PMA2.pmaar_sept,D_PMA2.pmaar_oct,D_PMA2.pmaar_nov,D_PMA2.pmaar_dec,D_PMA2.pmaar_janv,D_PMA2.pmaar_fevrD_PMA2.pmaar_mars,D_PMA2.pmaar_avril,D_PMA2.pmaar_mai,D_PMA2.pmaar_juin,D_PMA2.pmasr_juill,D_PMA2.pmasr_aout,D_PMA2.pmasr_sept,D_PMA2.pmasr_octD_PMA2.pmasr_nov,D_PMA2.pmasr_dec,D_PMA2.pmasr_janv,D_PMA2.pmasr_fevr,D_PMA2.pmasr_mars,D_PMA2.pmasr_avril,D_PMA2.pmasr_mai,D_PMA2.pmasr_juin FROM D_STO2,D_PMA2 WHERE D_STO2.code_art=D_PMA2.code_art AND D_STO2.campagne=D_PMA2.campagne



et j'ai comme message d'erreur :
Impossible de charger le contenu des données.
La requête n'a pas pu être executée. Elle contient plus d'une table


Je suis un peu perdu. Qu'ai je loupé ?

Petit détail ma première table comprend plus de 440 000 lignes et la seconde environ 10 000 lignes. Je ne sais pas si cela peut jouer.

Merci d'avance pour votre aide.

Amicalement
Steph70
A voir également:

5 réponses

moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
13 août 2009 à 19:06
Heu, une requete de type SELECT sns FROM ?
Je crois que jamais tu n'aura de résultat.

Petit conseil, met de la lisibilité dans tes requetes.
SELECT D_STO2.mag
,D_STO2.code_art
,D_STO2.campagne
,D_STO2.st_juill
,D­_STO2.st_aout
,D_STO2.st_sept
,D_STO2.st_oct
,D_STO2.st_nov
,D_S­TO2.st_dec
,D_STO2.st_janv
,D_STO2.st_fevr
,D_STO2.st_mars
,D_ST­O2.st_avril
,D_STO2_mai
,D_STO2_juin
,D_PMA2.pmaar_juill
,D_PMA2­.pmaar_aout
,D_PMA2.pmaar_sept
,D_PMA2.pmaar_oct
,D_PMA2.pmaar_­nov
,D_PMA2.pmaar_dec
,D_PMA2.pmaar_janv
,D_PMA2.pmaar_fevrD_PM­A2.pmaar_mars
,D_PMA2.pmaar_avril
,D_PMA2.pmaar_mai
,D_PMA2.pma­ar_juin
,D_PMA2.pmasr_juill
,D_PMA2.pmasr_aout
,D_PMA2.pmasr_se­pt
,D_PMA2.pmasr_octD_PMA2.pmasr_nov
,D_PMA2.pmasr_dec
,D_PMA2.­pmasr_janv
,D_PMA2.pmasr_fevr
,D_PMA2.pmasr_mars
,D_PMA2.pmasr_­avril
,D_PMA2.pmasr_mai
,D_PMA2.pmasr_juin FROM D_STO2
,D_PMA2
FROM ??
WHERE D_STO2.code_art=D_PMA2.code_art
AND D_STO2.campagne=D_PMA2.campagne

Ceci ressemble à une jointure de type "ancien". Tu peux, de préférence employer les INNER/LEFT JOIN ...
0
Hello et merci de ton aide.

Mon From existe bien mais tu ne l'as pas vu

Steph70
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
17 août 2009 à 21:50
tant mieux s'il existe. J'ai découpé ton code sql et je ne l'ai pas trouvé.
0
Il est ici
SELECT D_STO2.mag,D_STO2.code_art,D_STO2.campagne,D_STO2.st_juill,D­_STO2.st_aout,D_STO2.st_sept,D_STO2.st_oct,D_STO2.st_nov,D_S­TO2.st_dec,D_STO2.st_janv,D_STO2.st_fevr,D_STO2.st_mars,D_ST­O2.st_avril,D_STO2_mai,D_STO2_juin,D_PMA2.pmaar_juill,D_PMA2­.pmaar_aout,D_PMA2.pmaar_sept,D_PMA2.pmaar_oct,D_PMA2.pmaar_­nov,D_PMA2.pmaar_dec,D_PMA2.pmaar_janv,D_PMA2.pmaar_fevrD_PM­A2.pmaar_mars,D_PMA2.pmaar_avril,D_PMA2.pmaar_mai,D_PMA2.pma­ar_juin,D_PMA2.pmasr_juill,D_PMA2.pmasr_aout,D_PMA2.pmasr_se­pt,D_PMA2.pmasr_octD_PMA2.pmasr_nov,D_PMA2.pmasr_dec,D_PMA2.­pmasr_janv,D_PMA2.pmasr_fevr,D_PMA2.pmasr_mars,D_PMA2.pmasr_­avril,D_PMA2.pmasr_mai,D_PMA2.pmasr_juin FROM D_STO2,D_PMA2 WHERE D_STO2.code_art=D_PMA2.code_art AND D_STO2.campagne=D_PMA2.campagne


Après avoir réussi a charger mes enormes fichiers dans mysql, ma requête fonctionne, par contre elle palnte au bout d'une demi heure certainement car le traitement est trop long.

Une idée ?

Amicalement
Steph70
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
18 août 2009 à 18:07
parce qu'elle plante parce que c'est trop lon, voit avec les timeout de la base. Je sais pas. j'ai pas l'habitude de gérer ces gros traiements. Sinon cela veut etre dire de passer à un SGBD plus puissant pour ce que tu veux faire.
Je pense à SQL server par exemple.
Maintenant, je ne saurais pas t'expliquer précisémment pourquoi il faut changer (si c'est bien ça ton souci)

PS :m j'ai trouvé le FROM je lisais mal
0