Sous-Requete qui affiche au plus un enregistrement

Résolu/Fermé
oholabi1234 - Modifié le 13 mai 2021 à 16:37
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 - 15 mai 2021 à 21:11
Bonjour ; jai une table
TRANSACTION( id_transaction;date_transaction;type_tansaction ; montant_transaction)
qui m'a permis de faire la requête suivante avec le code sql :
SELECT
      ( SELECT TOP 1 Montant_Transaction
         FROM TRANSACTION AS DUP 
         WHERE DUP.IdTransaction <Transaction.IdTransaction 
         ORDER BY Date_Transaction DESC) AS MontantMouvement
      , ( Select TOP 1 Type_Transaction
            FROM TRANSACTION AS DUP 
           WHERE DUP.IdTransaction<Transaction.IdTransaction 
           ORDER BY Date_Transaction DESC ) AS TypeMouvement
     , *
FROM [TRANSACTION];

le problème qui se pose c'est quand je saisie plusieurs enregistrements dans ma table et que je consulte ma requete il m'affiche un message d'erreur
" cette sous requête peut retourner au plus un enregistrement"
comment régler ce problème
merci d'avance


EDIT : Ajout des balises de code.

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
13 mai 2021 à 16:40
Bonjour,

Pourquoi ne fais tu pas simplement
SELECT TOP 1 Montant_Transaction AS MontantMouvement
              ,Type_Transaction  AS TypeMouvement
             , *
FROM TRANSACTION AS DUP 
WHERE DUP.IdTransaction <Transaction.IdTransaction 
ORDER BY Date_Transaction DESC


0
oholabi1234
13 mai 2021 à 18:19
merci pour votre aide
mais la requete ne fonctionne pas ; elle me demande de rentrer une valeur de parametre :
transaction.idtransaction ; au lieu de transaction est ce que ce n'est pas "DUP" ; malgré cela elle n'affiche pas de données dans le résultat de la requete
que faire alors?
0
Oholabi1234
13 mai 2021 à 21:45
Mon problem n'est toujours pas réglé
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476 > Oholabi1234
13 mai 2021 à 22:58
bonjour,
examine bien le nom des champs de la table, et vérifie qu'ils sont correctement écrits dans la requête.
0
Oholabi1234 > yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
13 mai 2021 à 23:06
Je tiens compte de ma requête ou celle de jordane 45 pour la vérification ?
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476 > Oholabi1234
14 mai 2021 à 10:20
pourquoi ne pas travailler sur les deux?
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
15 mai 2021 à 09:33
tu avais écrit que la requête demande de rentrer une valeur de parametre :
transaction.idtransaction
0
Oholabi1234
15 mai 2021 à 10:09
Elle marche maintenant parce que j'ai remplacé Transaction.idtransaction par Dup.idtransaction en effet, elle Permet de faire des saisies qui se déversent dans la table Transaction.
En fait je souhaiterais faire un état qui affiche le solde à l'ouverture de la journée et c'est cette collone qui ne fonctionne pas bien
0
Oholabi1234 > Oholabi1234
Modifié le 15 mai 2021 à 10:36
En fait la requête devra être utilisée pour afficher un état avec les colonnes suivantes :
Idtransaction
Datetransaction
Solde ouverture
Montant transaction
Type Transaction
soldecloture
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476 > Oholabi1234
15 mai 2021 à 10:42
pourquoi changes-tu d'identifiant sur le forum?
si tu as modifié la requête, ne penses-tu pas qu'il serait utile de nous montrer la nouvelle requête?
0
Oholabi1234 > yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
15 mai 2021 à 11:08
Concernant mon identifiant c'est une erreur de manipulation
0
oholabi1234
15 mai 2021 à 11:28
SELECT TOP 1 DUP.Montant_Transaction AS MontantMouvement, DUP.Type_Transaction AS TypeMouvement, DUP.Date_Transaction, DUP.IdTransaction, *
FROM [TRANSACTION] AS DUP
WHERE (((DUP.IdTransaction)<[DUP].[IdTransaction]))
ORDER BY DUP.Date_Transaction DESC;
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
15 mai 2021 à 12:17
et cette requête retourne quelque chose? bizarre!
0
oholabi1234 > yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
Modifié le 15 mai 2021 à 13:19
non elle ne retourne rien de bizarre ; elle permet de faire les saisies des differentes transactions et ces saisies se retrouvent dans la table trasactions
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476 > oholabi1234
15 mai 2021 à 13:25
cette requête retourne-t-elle quelque chose?
peux-tu montrer cela?
0
Oholabi1234 > yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
15 mai 2021 à 14:20
En fait quand j'ouvre la requête les champs sont vides
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476 > Oholabi1234
15 mai 2021 à 14:31
cela me semble normal, vu la requête.
0