mandaillou
Messages postés53Date d'inscriptiondimanche 26 novembre 2000StatutMembreDernière intervention17 février 2006
-
30 sept. 2005 à 17:41
mandaillou
Messages postés53Date d'inscriptiondimanche 26 novembre 2000StatutMembreDernière intervention17 février 2006
-
3 oct. 2005 à 15:35
Salut
J'ai la requête suivante qui me permet de récuperer toutes les transactions qui ont même montant, même idmembre et même id_partenaire
<cfquery name="selection" datasource="#datasourcename#">
select count(*),idmembre,montant,id_partenaire
from transactions_jour
group by idmembre,montant,id_partenaire
having count(*) > 1
</cfquery>
<cfquery name="sel" datasource="#datasourcename#">
select idmembre,montant,id_partenaire from transactions_jour
where idmembre=#selection.idmembre# and montant=#selection.montant# and id_partenaire=#selection.id_partenaire#
</cfquery>
<cfset var=#sel.recordcount#-1>
Ensuite je veux supprimer tous ces transactions similaires sauf une, c'est dans cette optique que j'ai déclaré la variable var qui est égale au nombre de transactions -1.
<cfquery name="delete" datasource="#datasourcename#" maxrows=#var#>
delete transactions_jour where id_partenaire=#sel.id_partenaire# and idmembre=#sel.idmembre# and montant=#sel.montant#
</cfquery>
mandaillou
Messages postés53Date d'inscriptiondimanche 26 novembre 2000StatutMembreDernière intervention17 février 2006 3 oct. 2005 à 15:35
Salut
Finalement ma requête d'avant ne me renvoyait pas ce que je voulais et je l'ai modifiée. Maintenant elle me renvoie toutes les transactions similaires sauf une donc le problème ne se pose plus.
Merci quand même de ton aide. Ca pourra me servir à l'avenir.
cs_lfontaine
Messages postés203Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention11 mai 2006 30 sept. 2005 à 21:57
Salut,
Tu peux faire un truc du style:
DELETE transactions_jour
FROM (SELECT TOP #var# * FROM transactions_jour WHERE where idmembre=#selection.idmembre# and montant=#selection.montant# and id_partenaire=#selection.id_partenaire#) AS tj
WHERE transactions_jour.id = tj.id;
Ou transactions_jour.id est la cle primaire de ta table.