problème avec le IN [SQL] - Programmation
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 !? |
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
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 ...
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.
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....
Marsh Posté le 11-02-2002 à 23:33:04
Il me semble que jupiler avait donné le bonne réponse, non (si on ajoute un ';' à la fin )?
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.
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 ...
Marsh Posté le 12-02-2002 à 09:50:21
du vieux SQL ?
c'est quoi du SQL jeune? c'est en verlan ?
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 ... |
[jfdsdjhfuetppo]--Message édité par cvince--[/jfdsdjhfuetppo]
Marsh Posté le 12-02-2002 à 17:20:12
cvince a écrit a écrit :
|
c'est bon, j'ai géré avec un NOT EXISTS qui permet de travailler sur plusieurs champs
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 !
Marsh Posté le 12-02-2002 à 18:10:11
cvince a écrit a écrit : C'est pas beau de faire ça ! |
mais si !!!
et c'est plus lisible qu'une semie-jointure de l'espace
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 |
C'est po une semi... c'est une jointure de l'espace qui marche en +
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 !?