Accueil > Forum > > > > sql
sql
jeudi 27 mai 2004 à 09:19:04 |
sql

bigboy2g15
|
Bonjour, Je fait une requette sql qui regarde si le champ de l'occurence n'est pas nul et si la clé de l'occurence n'est pas présent dans une autre table. Voici ma requete : ma_requete = "Select table1.cle from table1, table2 where table1.champ is not null and table1.cle not in ( select distinct table3.cle from table3 ) ;"
|
table2 n'a aucune valeur, aucun champ en commun avec table1 ( c'est juste que j'en ai besoin dans la suite de la requete, la c'est juste un extrait ). Or quand je laisse table2 du from, il me sort plusieur fois les mêmes résutats, et si je le vire, il me sort une seul fois chaque résultats, comme il devrait le faire normalement. Si quelqu'un a une explication, je le remerci d'avance P.S.: Si ce que j'ai écrit n'est pas clair, dites le, j'essayerai d'expliquer différament.
|
|
jeudi 27 mai 2004 à 11:36:38 |
Re : sql

mfritsch
|
tu as essayé de mettre un DISTINCT ?
|
|
jeudi 27 mai 2004 à 11:42:00 |
Re : sql

bigboy2g15
|
Avec un distinct, ca marche sans problème, mais il ne faut pas que j'en mette, pour le reste de ma requete.
en fait, la condition de la requette montré ici fait parti dune grande requette avec cond_1 or cond_2 or cond_3
La requette affiché ici est cond_3 Je les ai testé séparément, c'est la seul qui m'affiche un résultats que je n'attend pas.
Mais même sans distincnt, logiquement cela ne devrai pas afficher plusieur fois le même résultat puisque table2 n'a aucune relation avec table1.
Je ne comprend donc pas pourquoi.
|
|
jeudi 27 mai 2004 à 15:08:02 |
Re : sql

Pat35
|
Salut, Ce qui t'arrive est normal, malheureusement pour toi. La syntaxe de ta requête est trés problèmatique car tu fait appel à "table1" pour en extraire des données, ce qui est normal, mais aussi à "table2" sans en extraire de données ni faire de liaison avec l'autre (tel quel, je vois vraiment pas l'utilitée).
Du coups, la requête te renvoie toutes les lignes de "table1" qui correspondent à tes critères et toutes celles de "table2" en fonction des restrictions de ta liaison. Comme il y en a pas, il te sort pour chaques lignes de "table1" toutes les lignes de "table2".
Donc N enregistrements de "table1" fois N enregistrements de "table2". Tu as plusieurs solutions :
- enlève le référence a "table2" (je vois vraiment pas ce qu'elle viens faire là) - utilise "table2" dans une sous-requête en limitant les lignes renvoyés (TOP, MAX ...) - Met une liaison entre "table1" et "table2" pour n'avoir qu'un enregistrement en correspondance entre les deux tables.
J'espère que ça t'aidera à avancer.
Ciao.
|
|
jeudi 27 mai 2004 à 15:09:11 |
Re : sql

Pat35
|
Salut, Ce qui t'arrive est normal, malheureusement pour toi. La syntaxe de ta requête est trés problèmatique car tu fait appel à "table1" pour en extraire des données, ce qui est normal, mais aussi à "table2" sans en extraire de données ni faire de liaison avec l'autre (tel quel, je vois vraiment pas l'utilitée).
Du coups, la requête te renvoie toutes les lignes de "table1" qui correspondent à tes critères et toutes celles de "table2" en fonction des restrictions de ta liaison. Comme il y en a pas, il te sort pour chaques lignes de "table1" toutes les lignes de "table2".
Donc N enregistrements de "table1" fois N enregistrements de "table2". Tu as plusieurs solutions :
- enlève le référence a "table2" (je vois vraiment pas ce qu'elle viens faire là) - utilise "table2" dans une sous-requête en limitant les lignes renvoyés (TOP, MAX ...) - Met une liaison entre "table1" et "table2" pour n'avoir qu'un enregistrement en correspondance entre les deux tables.
J'espère que ça t'aidera à avancer.
Ciao.
|
|
jeudi 27 mai 2004 à 15:16:03 |
Re : sql

bigboy2g15
|
Ok merci, mais je ne peu pa faire ca par rapport à ma bdd ( d'ou la présence obligatoire de table2, car la requette présenté ici n'est qu'une partie de la requette finale, la partie qui me pose problème )
mais merci quand même, je vais me débrouiller autrement.
@+
|
|
Cette discussion est classée dans : sql, champ, requete, cle, table1
Répondre à ce message
Sujets en rapport avec ce message
requete sql sous VB [ par Valerie ]
Je souhaite faire une requete sql sous vb.Dans cette requete je doit prendre certain champs obligatoire et d'autre uniquement si un champ est a vrai d
HELP ... If dans SQL, Possible ????? [ par Poulipe ]
Bonjour a tous,Voila, j ai une requete sql a faire, avec un test sur deux champs. Si un champ > 0 je le prend, sinon j en prend un autre, et selon le
requete sql [ par elbrahimo ]
salut à tousje ne sais pas comment avec vb faire une requete qui met à jour des données d'une table1 à partir d'une sélection de table2, c'est à dire
requete sql pour recherche par mot cle [ par zecups ]
Salut a tous.je recherche une requete sql me permettant de faire une recherche dans une de mes tables de ma BDD par mot clé c'est à dire que je rentre
requete sql [ par christophef59 ]
bonjourJe voudrais savoir comment fait on pour mettre une valeur max d'un champ d'une table dans un champ texte sous vb merci
requete sql pour classer en fonction d'un champ [ par raro ]
salut à tous! voici mon problème: si je veux faire une requete afin d'extraire tous les "martin" je fait ceci: SELECT * FROM Adresses where nom='MAR
Access 2000 Requete UPDATE [ par ronando ]
Bjr à tous, besoin d'un conseil pour mettre à jour un champ de base de données. J'ai une table : table1(ID_table1) id_table1 etait un champ numero aut
requete SQL (champ dat de type dateTime) [ par code_vb_source ]
salem 3alikom,comment tester la valeur d'une date de type DateTime dans une requete sous VB.NET.cé "select * from table where champ_date = ..." ???et
requete SQL Regexp dans le champ [ par Flocreate ]
Bonjour a tous,Il y a la requete SQL "WHERE [SN] REGEXP 'regularexpression' " qui permet de trouver les enregistrements où le champ SN correspond au R
Code VB pour requete SQL [ par scm ]
Bonjour à tousJe ne sais pas si mon post est au bon endroit, je suis un debutant en VB j'ai deux questions pour ma requeteJ'utilise VB6 et mysql comme
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|