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
TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|