[SQL]sous-requete a plusieurs parametres sous access

sous-requete a plusieurs parametres sous access [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 13-05-2003 à 16:55:39    

bonjour a tous,
 
j'ai un petit probleme avec une requete qui marchait sur d'autres logiciels:
 
la requete:
 
SELECT [lot num], [lot dat cre], [ref fac], [fac mnt acp]
FROM [acprpr 2002]
WHERE ([lot num], [lot dat cre])  in
(
select [lot num], [lot dat cre]
from [sous-requete gros totaux]
);

sachant que les champs existent dans la sous-requete.
 
cette requete marche avec 1 parametre pour le IN, mais pas deux  on dirait :??:
 
quelqu'un saurait trouver une parade ? ( ou me dire ou j'ai merdé ).


Message édité par hao le 13-05-2003 à 16:56:04
Reply

Marsh Posté le 13-05-2003 à 16:55:39   

Reply

Marsh Posté le 13-05-2003 à 18:08:05    

up

Reply

Marsh Posté le 13-05-2003 à 18:10:40    

dis nous plutot que dois faire ta requete

Reply

Marsh Posté le 14-05-2003 à 09:57:32    

j'ai une table contenant des montants, ave numero de lot et date.
 
je veux une requete qui m'affiche toutes les lignes de cette table dont la somme des montants pour ce numero de lot et une meme date est superieure a un certain montant.
 
je mets le code de la sous-requete, on sait jamais:
 

requete: sous-requete gros totaux
 
SELECT [acprpr 2002].[Lot Num], Sum([acprpr 2002].[fac mnt acp]) AS montant, [acprpr 2002].[Lot Dat Cre]
FROM [acprpr 2002]
GROUP BY [acprpr 2002].[Lot Num], [acprpr 2002].[Lot Dat Cre]
HAVING (((Sum([acprpr 2002].[fac mnt acp]))>1000));

Reply

Marsh Posté le 14-05-2003 à 12:30:12    

Hao a écrit :

j'ai une table contenant des montants, ave numero de lot et date.
 
je veux une requete qui m'affiche toutes les lignes de cette table dont la somme des montants pour ce numero de lot et une meme date est superieure a un certain montant.
 


reformule parce que dans ta phrase je vois 2 conditiions mais je ne les comprend pas !

Reply

Marsh Posté le 14-05-2003 à 12:32:51    

tu veux plutot dire que tu recherche pour une meme date une somme de montant>1000 ? capte pas trop mais bon

Reply

Marsh Posté le 14-05-2003 à 12:58:01    

l'opérateur IN ne fonctionne pas avec plus d'un champ sur certains SGBD, ça peut venir de là
 
essaye comme ça:
 

SELECT [lot num], [lot dat cre], [ref fac], [fac mnt acp]
FROM [acprpr 2002]
WHERE EXISTS (SELECT *  
              FROM [sous-requete gros totaux]
              WHERE [acprpr 2002].[lot num]  = [sous-requete gros totaux].[lot num]
              AND   [acprpr 2002].[lot dat cre]  = [sous-requete gros totaux].[lot dat cre])

Reply

Marsh Posté le 14-05-2003 à 17:05:20    

a priori ca marche :)
merci a vous

Reply

Sujets relatifs:

Leave a Replay

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