PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Liste des enregistrement date la plus récente
Liste des enregistrement date la plus récente
Iniciado por cedricle100, abr., 26 2017 8:47 PM - 4 respostas
Membro registado
10 mensagems
Publicado em abril, 26 2017 - 8:47 PM
Bonsoir

J'ai deux tables :
Ingrédient
IDIngredient
Nom

Rendement
IDRendement
IDIngredient
Date
Rendement

Un ingrédient peut avoir plusieurs rendement ( ex 01/01/2016, rendement pour la lentille de 2 et le 01/01/2017 rendement de 2.2)

Comment réaliser une requête qui donne les derniers (date la plus récente) rendements des différents ingrédients ?

Merci
Publicado em abril, 27 2017 - 4:35 PM
Le 26 avril 2017 à 18:47, dans
<news:20171a3cc170fac59bcdecb064397d41fe74@news.pcsoft.fr>, cedricle100
nous disait :

J'ai deux tables :
Ingrédient
IDIngredient
Nom


Rendement
IDRendement
IDIngredient
Date
Rendement


> Un ingrédient peut avoir plusieurs rendement ( ex 01/01/2016, rendement pour la lentille de 2 et le 01/01/2017 rendement de 2.2)

Comment réaliser une requête qui donne les derniers (date la plus récente) rendements des différents ingrédients ?


SELECT MAX(Rendement.IDRendement) FROM Rendement WHERE
Rendement.IDIngredient = {Param} GROUP BY Rendement.IDIngredient

Le dernier rendement d'un ingrédient donné aura toujours l'ID auto le
plus grand.

--
Eric
Publicado em abril, 28 2017 - 7:50 AM
Bonjour,
Ce raisonnement n'est valable que si les enregistrements sont ajoutés par
ordre chronologique.
Il suffit d'un ajout qui ne respecte pas cet ordre (par exemple suite à un
bug ou pour reprendre un historique, on ajoute des lignes manquantes) pour
que ça ne fonctionne plus.

Frédéric.
"Eric" a écrit dans le message de groupe de discussion :
1dwjryh83dwyc.dlg@ericb33spam.alussinan.org...

Le 26 avril 2017 à 18:47, dans
<news:20171a3cc170fac59bcdecb064397d41fe74@news.pcsoft.fr>, cedricle100
nous disait :

J'ai deux tables :
Ingrédient
IDIngredient
Nom


Rendement
IDRendement
IDIngredient
Date
Rendement


Un ingrédient peut avoir plusieurs rendement ( ex 01/01/2016, rendement
pour la lentille de 2 et le 01/01/2017 rendement de 2.2)


Comment réaliser une requête qui donne les derniers (date la plus récente)
rendements des différents ingrédients ?


SELECT MAX(Rendement.IDRendement) FROM Rendement WHERE
Rendement.IDIngredient = {Param} GROUP BY Rendement.IDIngredient

Le dernier rendement d'un ingrédient donné aura toujours l'ID auto le
plus grand.

--
Eric
Publicado em abril, 28 2017 - 4:25 PM
Le 28 avril 2017 à 05:50, dans
<news:201733357b5eec81bdb2e2c81c71676d0797@news.pcsoft.fr>,
priv!24v8+5+34@8--LZC028582C4274+5EM0r95+2p51s6@news.pcsoft nous
disait :

Bonjour,
Ce raisonnement n'est valable que si les enregistrements sont ajoutés par
ordre chronologique.
Il suffit d'un ajout qui ne respecte pas cet ordre (par exemple suite à un
bug ou pour reprendre un historique, on ajoute des lignes manquantes) pour
que ça ne fonctionne plus.


C'est vrai. Il suffit alors de faire :
SELECT MAX(Rendement.Date) FROM Rendement WHERE
Rendement.IDIngredient = {Param} GROUP BY Rendement.IDIngredient

"Eric" a écrit dans le message de groupe de discussion :
1dwjryh83dwyc.dlg@ericb33spam.alussinan.org...


Le 26 avril 2017 à 18:47, dans
<news:20171a3cc170fac59bcdecb064397d41fe74@news.pcsoft.fr>, cedricle100
nous disait :


J'ai deux tables :
Ingrédient
IDIngredient
Nom


Rendement
IDRendement
IDIngredient
Date
Rendement


Un ingrédient peut avoir plusieurs rendement ( ex 01/01/2016, rendement
pour la lentille de 2 et le 01/01/2017 rendement de 2.2)


Comment réaliser une requête qui donne les derniers (date la plus récente)
rendements des différents ingrédients ?


SELECT MAX(Rendement.IDRendement) FROM Rendement WHERE
Rendement.IDIngredient = {Param} GROUP BY Rendement.IDIngredient


Le dernier rendement d'un ingrédient donné aura toujours l'ID auto le
plus grand.


--
Eric
Publicado em abril, 28 2017 - 8:22 PM
SELECT
Nom,
Rendement
FROM
Ingrédient
Rendement AS R1
WHERE
Ingrédient.IDIngredient=R1.IDIngredient
AND
R1.Date = (SELECT MAX(R2.Date) FROM Rendement AS R2 WHERE R2.IDIngredient = Ingrédient.IDIngredient)