[SQL] problème avec le IN

problème avec le IN [SQL] - Programmation

Marsh Posté le 11-02-2002 à 17:10:27    

j'ai cette requette:
 
select no_commande
from lignes_de_commande
where (no_commande, no_ligne) in (select no_commande, no_ligne  
                                  from stock_disponible_detail);
 
 
 
erreur à l'exécution ....
qqun sait comment faire !?  :??:

Reply

Marsh Posté le 11-02-2002 à 17:10:27   

Reply

Marsh Posté le 11-02-2002 à 21:32:51    

trueslash a écrit a écrit :

j'ai cette requette:
 
select no_commande
from lignes_de_commande
where (no_commande, no_ligne) in (select no_commande, no_ligne  
                                  from stock_disponible_detail);
 
 
 
erreur à l'exécution ....
 
peut - être qu'on a pas droit au IN avec un couple  :??:  :??:  
qqun sait comment faire !?  :??:  



Reply

Marsh Posté le 11-02-2002 à 22:48:39    

effectivement, le IN avec un couple, ce n'est pas joli
 
fait une jointure :  
 
select ldc.no_commande  
from lignes_de_commande ldc, stock_disponible_detail sdd
where ldc.no_commande = sdd.no_commande
and ldc.no_ligne = sdd.no_ligne


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 11-02-2002 à 23:01:02    

jupiler a écrit a écrit :

effectivement, le IN avec un couple, ce n'est pas joli
 
fait une jointure :  
 
select ldc.no_commande  
from lignes_de_commande ldc, stock_disponible_detail sdd
where ldc.no_commande = sdd.no_commande
and ldc.no_ligne = sdd.no_ligne  




 
oui, j'ai pensé à la jointure mais à la requete suivante, j'ai besoin d'un not in ... et là la jointure ...

Reply

Marsh Posté le 11-02-2002 à 23:08:32    

Dis nous quelle requête tu dois faire et on te la traduit en SQL. ;) À moins que tu ne tiennes à trouver la réponse toi-même.
Tu parlais d'un not in? Toujours avec un couple? Faut jouer avec les jointures alors.


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
Reply

Marsh Posté le 11-02-2002 à 23:16:06    

select l.no_commande
from ligne_de_commande l left outer join no_commande c  
on l.no_commande = c.no_commande  
and l.no_ligne = c.no_ligne
where (c.no_commande is null and c.no_ligne is null)
 
Cela devrait fonctionner....

Reply

Marsh Posté le 11-02-2002 à 23:33:04    

:confused:
 
Il me semble que jupiler avait donné le bonne réponse, non (si on ajoute un ';' à la fin :D)?
J ne comprends pas la dernière ligne de ta requête. :/ Et le mot clé ON ça correspond à quoi? Je ne sais pas ce que c'est, honte à moi. :sweat:


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
Reply

Marsh Posté le 12-02-2002 à 07:15:07    

Krueger > je veux faire ça:  
select no_commande  
from lignes_de_commande  
where (no_commande, no_ligne) not in (select no_commande, no_ligne  
                                                              from stock_disponible_detail);  
 
 
cvince > je vais tester ta méthode, c'est une jointure externe ? C'est du vieux sql, j'espere qu'il comprendra ...

Reply

Marsh Posté le 12-02-2002 à 09:50:21    

du vieux SQL ?  
 
 
c'est quoi du SQL jeune? c'est en verlan ? :D


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 12-02-2002 à 15:24:42    

trueslash a écrit a écrit :

 
cvince > je vais tester ta méthode, c'est une jointure externe ? C'est du vieux sql, j'espere qu'il comprendra ...  




 

  • C'est quoi ton SGBD ?
  • C'est une syntaxe ISO qui est comprises par MySQL, normalement SQL Server de Microsoft, mais par contre pas par Sybase... Pour Oracle, j'en ai pas sous la main là ! :D


[jfdsdjhfuetppo]--Message édité par cvince--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 12-02-2002 à 15:24:42   

Reply

Marsh Posté le 12-02-2002 à 17:20:12    

cvince a écrit a écrit :

 
 

  • C'est quoi ton SGBD ?
  • C'est une syntaxe ISO qui est comprises par MySQL, normalement SQL Server de Microsoft, mais par contre pas par Sybase... Pour Oracle, j'en ai pas sous la main là ! :D  


 




 
c'est bon, j'ai géré avec un NOT EXISTS qui permet de travailler sur plusieurs champs

Reply

Marsh Posté le 12-02-2002 à 17:21:26    

trueslash a écrit a écrit :

 
 
c'est bon, j'ai géré avec un NOT EXISTS qui permet de travailler sur plusieurs champs  




C'est pas beau de faire ça ! :D

Reply

Marsh Posté le 12-02-2002 à 18:10:11    

cvince a écrit a écrit :

 
C'est pas beau de faire ça ! :D  




 
mais si !!!
 
et c'est plus lisible qu'une semie-jointure de l'espace  :D

Reply

Marsh Posté le 12-02-2002 à 18:21:53    

trueslash a écrit a écrit :

 
 
mais si !!!
 
et c'est plus lisible qu'une semie-jointure de l'espace  :D  




C'est po une semi... c'est une jointure de l'espace qui marche en + :pt1cable:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed