Doute sur le résultat de ma requête
Dernière réponse : dans Programmation
Bonjour je voudrais en fait sélectionner les cartes qui sont dans une table et qui serait en meme temps au moins une autre table.
Donc j'ai fait ce code or il me sort rien donc je voulai savoir si mon code était bon.
Merci d'avance
Cordialement
Donc j'ai fait ce code or il me sort rien donc je voulai savoir si mon code était bon.
Merci d'avance
Cordialement
SELECT T_Cartes_OPPO_contrefait_hors_dossier.* INTO T_Test_nombre_carte_dans_dossiers
FROM ((((((((((((T_Cartes_OPPO_contrefait_hors_dossier INNER JOIN [T_dossiers_entre_2000-et-4000] ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = [T_dossiers_entre_2000-et-4000].[N° Carte]) INNER JOIN [T_dossiers_entre_4000-et-5000] ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = [T_dossiers_entre_4000-et-5000].[N° Carte]) INNER JOIN [T_dossiers_entre_5000-et-5300] ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = [T_dossiers_entre_5000-et-5300].[N° Carte]) INNER JOIN [T_dossiers_entre_5300-et-5600] ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = [T_dossiers_entre_5300-et-5600].[N° Carte]) INNER JOIN [T_dossiers_entre_5600-et-5900] ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = [T_dossiers_entre_5600-et-5900].[N° Carte]) INNER JOIN [T_dossiers_entre_5900-et_6000] ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = [T_dossiers_entre_5900-et_6000].[N° Carte]) INNER JOIN [T_dossiers_entre_6000-et_6500] ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = [T_dossiers_entre_6000-et_6500].[N° Carte]) INNER JOIN [T_dossiers_entre_6500-et-7100] ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = [T_dossiers_entre_6500-et-7100].[N° Carte]) INNER JOIN T_dossiers_inf_2000 ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = T_dossiers_inf_2000.[N° Carte]) INNER JOIN [T_dossiers_RL-et-CS] ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = [T_dossiers_RL-et-CS].[N° Carte]) INNER JOIN T_dossiers_sup_6000 ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = T_dossiers_sup_6000.[N° Carte]) INNER JOIN T_dossiers_sup_6500 ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = T_dossiers_sup_6500.[N° Carte]) INNER JOIN T_dossiers_sup_7100 ON T_Cartes_OPPO_contrefait_hors_dossier.NUISO2_cd = T_dossiers_sup_7100.[N° Carte];
Autres pages sur : doute resultat requete
Lassé par la pub ? Créez un compte
Beurk, de l'ACCESS.
Je réécris ça en SQL normal, sans parenthèse ni crochet, ni espace dans les nom des champs et avec des alias pour ne pas avoir des lignes de 20000 caractères (ça pique vraiment les yeux) :
Nan mais quelle horreur ! Vous avez découpé vos tables en tranche de 2000 dossiers. C'est du grand n'importe quoi.
Une base de données sert justement à ne pas faire ce genre de choses
Le mal est fait tant pis.
Revenons à nos moutons. Il faut que tu cherches dans A ce qui existe ailleurs.
Ok, ailleurs :
Donc :
Je réécris ça en SQL normal, sans parenthèse ni crochet, ni espace dans les nom des champs et avec des alias pour ne pas avoir des lignes de 20000 caractères (ça pique vraiment les yeux) :
SELECT A.* INTO T_Test_nombre_carte_dans_dossiers FROM T_Cartes_OPPO_contrefait_hors_dossier As A INNER JOIN T_dossiers_entre_2000-et-4000 B ON A.NUISO2_cd = B.N°_Carte INNER JOIN T_dossiers_entre_4000-et-5000 C ON A.NUISO2_cd = C.N°_Carte INNER JOIN T_dossiers_entre_5000-et-5300 D ON A.NUISO2_cd = D.N°_Carte INNER JOIN T_dossiers_entre_5300-et-5600 E ON A.NUISO2_cd = E.N°_Carte INNER JOIN T_dossiers_entre_5600-et-5900 F ON A.NUISO2_cd = F.N°_Carte INNER JOIN T_dossiers_entre_5900-et_6000 G ON A.NUISO2_cd = G.N°_Carte INNER JOIN T_dossiers_entre_6000-et_6500 H ON A.NUISO2_cd = H.N°_Carte INNER JOIN T_dossiers_entre_6500-et-7100 I ON A.NUISO2_cd = I.N°_Carte INNER JOIN T_dossiers_inf_2000 J ON A.NUISO2_cd = J.N°_Carte INNER JOIN T_dossiers_RL-et-CS K ON A.NUISO2_cd = K.N°_Carte INNER JOIN T_dossiers_sup_6000 L ON A.NUISO2_cd = L.N°_Carte INNER JOIN T_dossiers_sup_6500 M ON A.NUISO2_cd = M.N°_Carte INNER JOIN T_dossiers_sup_7100 N ON A.NUISO2_cd = N.N°_Carte
Nan mais quelle horreur ! Vous avez découpé vos tables en tranche de 2000 dossiers. C'est du grand n'importe quoi.
Une base de données sert justement à ne pas faire ce genre de choses
Le mal est fait tant pis.
Revenons à nos moutons. Il faut que tu cherches dans A ce qui existe ailleurs.
Ok, ailleurs :
SELECT N°_Carte FROM T_dossiers_entre_2000-et-4000 UNION SELECT N°_Carte FROM T_dossiers_entre_4000-et-5000 UNION SELECT N°_Carte FROM T_dossiers_entre_5000-et-5300 UNION SELECT N°_Carte FROM T_dossiers_entre_5300-et-5600 UNION SELECT N°_Carte FROM T_dossiers_entre_5600-et-5900 UNION SELECT N°_Carte FROM T_dossiers_entre_5900-et_6000 UNION SELECT N°_Carte FROM T_dossiers_entre_6000-et_6500 UNION SELECT N°_Carte FROM T_dossiers_entre_6500-et-7100 UNION SELECT N°_Carte FROM T_dossiers_inf_2000 UNION SELECT N°_Carte FROM T_dossiers_RL-et-CS UNION SELECT N°_Carte FROM T_dossiers_sup_6000 UNION SELECT N°_Carte FROM T_dossiers_sup_6500 UNION SELECT N°_Carte FROM T_dossiers_sup_7100
Donc :
SELECT * INTO T_Test_nombre_carte_dans_dossiers FROM T_Cartes_OPPO_contrefait_hors_dossier A WHERE NUISO2_cd IN ( SELECT N°_Carte FROM T_dossiers_entre_2000-et-4000 UNION SELECT N°_Carte FROM T_dossiers_entre_4000-et-5000 UNION SELECT N°_Carte FROM T_dossiers_entre_5000-et-5300 UNION SELECT N°_Carte FROM T_dossiers_entre_5300-et-5600 UNION SELECT N°_Carte FROM T_dossiers_entre_5600-et-5900 UNION SELECT N°_Carte FROM T_dossiers_entre_5900-et_6000 UNION SELECT N°_Carte FROM T_dossiers_entre_6000-et_6500 UNION SELECT N°_Carte FROM T_dossiers_entre_6500-et-7100 UNION SELECT N°_Carte FROM T_dossiers_inf_2000 UNION SELECT N°_Carte FROM T_dossiers_RL-et-CS UNION SELECT N°_Carte FROM T_dossiers_sup_6000 UNION SELECT N°_Carte FROM T_dossiers_sup_6500 UNION SELECT N°_Carte FROM T_dossiers_sup_7100 )
Oui je sais pour les bases c'est une horreur mais j'ai pas le choix!!!
ils prefere utilisé des bases Access qu'un vrai SQL (pour les utilisateurs non informaticien c'est plus simple a manipuler)
Car si tu regroupe tout les temps de recherche sont trop long car cet idiot d'access charge tout en mémoire et la ca sature donc on sépare pour ller plus vite c débile je sais
ils prefere utilisé des bases Access qu'un vrai SQL (pour les utilisateurs non informaticien c'est plus simple a manipuler)
Car si tu regroupe tout les temps de recherche sont trop long car cet idiot d'access charge tout en mémoire et la ca sature donc on sépare pour ller plus vite c débile je sais
il me sort que
J'avais pris ce code la
Citation :
cette opéraiton n'est pas autorisée dans les sous requêtesJ'avais pris ce code la
SELECT *
INTO T_Test_nombre_carte_dans_dossiers
FROM T_Cartes_OPPO_contrefait_hors_dossier
WHERE NUISO2_cd IN (
SELECT N°_Carte FROM T_dossiers_entre_2000-et-4000
UNION SELECT N°_Carte FROM T_dossiers_entre_4000-et-5000
UNION SELECT N°_Carte FROM T_dossiers_entre_5000-et-5300
UNION SELECT N°_Carte FROM T_dossiers_entre_5300-et-5600
UNION SELECT N°_Carte FROM T_dossiers_entre_5600-et-5900
UNION SELECT N°_Carte FROM T_dossiers_entre_5900-et_6000
UNION SELECT N°_Carte FROM T_dossiers_entre_6000-et_6500
UNION SELECT N°_Carte FROM T_dossiers_entre_6500-et-7100
UNION SELECT N°_Carte FROM T_dossiers_inf_2000
UNION SELECT N°_Carte FROM T_dossiers_RL-et-CS
UNION SELECT N°_Carte FROM T_dossiers_sup_6000
UNION SELECT N°_Carte FROM T_dossiers_sup_6500
UNION SELECT N°_Carte FROM T_dossiers_sup_7100 )
Citation :
Cela fonctionnerait-il avec OR ?
Citation :
Utiliser une requêteCitation :
a la place des UNION SELECTCitation :
de quel code parle tu dans ton premier message.Lassé par la pub ? Créez un compte
- Contenus similaires :
Testé et approuvé avec un vrai SGBD (ORACLE)