[bruit] peti casse-tête en SQL

Le
Roumégou Eric
Bonjour,
20mn que je tourne là dessus sans trouver
J'ai une table people_vote où je retrouve les enchères par individus
A chaque enchère, la personne peux désactiver le suivi relance mails
(people_vote=0)

J'ai besoin de retrouver la liste les id des personnes dont la dernière
enchère mentionnait pas de suivi (pour les exclure avec un not in)

select ppl_id,coalesce(vot_suivi,1)AS SUIVI,vot_datetime from
people_vote where people_vote.vot_groupe='DR30Q1'
and GFA_IDd and VOT_TYPE='ENCH'
group by ppl_id
having SUIVI=0
order by ppl_id,vot_datetime desc

GFA_IDd permet de tester l'enchère particulière.
vot_groupe identifie les personnes en lice sur cette enchère.

Mon pb est que le group by agit sur la 1ere ligne et le vot_suivi
retourné (et testé en having) correspond à cette 1ere ligne mème si je
joue sur le order by.

En fait il me faudrait une fn Dernier (cela existait en Access) mais je
ne trouve pas en mysql.

Je vais surement coder à la main mais j'aimerais savoir s'il y a une
soluce pure sql.

Merci de vos réponses.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Roumégou Eric
Le #19412291
Roumégou Eric a formulé ce mardi :
Bonjour,
20mn que je tourne là dessus sans trouver
J'ai une table people_vote où je retrouve les enchères par individus
A chaque enchère, la personne peux désactiver le suivi relance mails
(people_vote=0)


il faut lire
people_vote.vot_suivi=0

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Roumégou Eric
Le #19412931
Roumégou Eric avait énoncé :
Bonjour,
20mn que je tourne là dessus sans trouver
J'ai une table people_vote où je retrouve les enchères par individus
A chaque enchère, la personne peux désactiver le suivi relance mails
(people_vote=0)

J'ai besoin de retrouver la liste les id des personnes dont la dernière
enchère mentionnait pas de suivi (pour les exclure avec un not in)

select ppl_id,coalesce(vot_suivi,1)AS SUIVI,vot_datetime from people_vote
where people_vote.vot_groupe='DR30Q1'
and GFA_IDd and VOT_TYPE='ENCH'
group by ppl_id
having SUIVI=0
order by ppl_id,vot_datetime desc

GFA_IDd permet de tester l'enchère particulière.
vot_groupe identifie les personnes en lice sur cette enchère.

Mon pb est que le group by agit sur la 1ere ligne et le vot_suivi retourné
(et testé en having) correspond à cette 1ere ligne mème si je joue sur le
order by.

En fait il me faudrait une fn Dernier (cela existait en Access) mais je ne
trouve pas en mysql.

Je vais surement coder à la main mais j'aimerais savoir s'il y a une soluce
pure sql.

Merci de vos réponses.



pff !! m'aura donné du fil a retordre celle là !
En fait il faut faire une requete sur une requete


select ppl_id,suivi from(
select ppl_id AS PPL_ID,coalesce(vot_suivi,1)AS SUIVI from people_vote
where people_vote.vot_groupe='DR30Q1'
and GFA_IDd and VOT_TYPE='ENCH'
order by ppl_id,vot_datetime desc
) as id
group by ppl_id
having suivi=0

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Publicité
Poster une réponse
Anonyme