begin process at 2010 02 09 23:49:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

sql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales