supprime tout sauf une ligne - SQL/NoSQL - Programmation
Marsh Posté le 27-03-2008 à 16:27:11
Essaie de remplacer
Not In (select t1.id_trans from TLink as t1
where (
(t.user_id=t1.user_id)
and
(t1.Etat='En cours')
order by t1.id_trans desc
LIMIT 1
)
)
par
Not In (select max(t1.id_trans) from TLink as t1
where (
(t.user_id=t1.user_id)
and
(t1.Etat='En cours')
)
)
Marsh Posté le 26-03-2008 à 20:06:30
Je cherche un moyen de supprimer tout les états 'En cours' de chaque utilisateur sauf le premier inséré grace à la clé primaire id_trans
qui est 'auto incrémente' mais mysql refuse dans delete les clauses : order by et LIMIT
Comment faire ?
(par ex: id_trans :1,user_id:1,Etat:'En cours' /id_trans :2,user_id:1,Etat:'En cours' /id_trans :3,user_id:2,Etat:'En cours' on supprime id_trans:2
Voici la requête refusée par mysql:
DELETE t FROM TLink AS t
WHERE (
(t.Etat='En cours')
AND
(t.id_trans Not In (select t1.id_trans from TLink as t1
where (
(t.user_id=t1.user_id)
and
(t1.Etat='En cours')
order by t1.id_trans desc
LIMIT 1
)
)
)
)