|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 7 ![]() |
Bonjour,
J'ai développé un programme qui permet soit de travailler sur une base SQL ou en local sur une base Access. Les requêtes fonctionnent très bien sous SQL mais certaines donnent des résultats troublant sous Access. Par exemple : Code :
ResultSet query=statement.executeQuery("select distinct jour from saisies,lp,periodes where uti_num="+uti_num+" and valide=0 and periodes.periode=saisies.periode and lp.lp=saisies.lp and lp.visible=1 and periodes.visible=1 order by jour"); Sous SQL j'obtiens bien mes jours escomptés (4), mais via une connexion ODBC (driver Sun) sur une base Access j'en obtiens 352 !!! (les données des tables sont identiques entre Access et SQL). J'ai exécuté la requête directement dans Access, et j'obtiens bien le même nombre de jour (4) que sous SQL. En cherchant, j'ai compris d'où provient ce nombre de lignes : 352. La table LP contient 22 enregistrement, la table periodes contient 4 enregistrements => 4*22=88 possibilités, comme il y a 4 jours possibles=>88*4=352. J'en ai déduit que les liens des tables avaient été ignorés, j'ai donc refais ma requête en utilisant la fonction JOIN => même résultat => les liens sont ignorés. J'en conclu que Code :
SELECT XXX FROM A,B,C WHERE A.X=B.X AND A.Z=C.Z Est-ce que quelqu'un aurait une idée car j'ai beau cherché j'ai rien trouvé. Merci |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 7 ![]() |
Je me demande si c'est pas la commande DISTINCT qui est ignorée
...... une idée ? Merci Mouah |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 7 ![]() |
je viens de modifier le code pour vérifier si le problème provenait bien du fait du pour obtenir une requête du genre :
Code :
SELECT DISTINCT jour FROM saisies WHERE lp IN (....) AND periodes IN (...) ... Est-ce que quelqu'un a une idée ... voire la solution Merci Mouah |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 7 ![]() |
Bonjour à toutes et à tous,
Si quelqu'un rencontre le même problème (ou similaire), voici la réponse : Code :
SELECT DISTINCT XX FROM (SELECT DISTINCT XX FROM T,Y WHERE ...) Mouah |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com