DELETE avec conditions sur plusieurs tables

A voir également:Delete avec conditionRequête avec conditions dans des tables differentes (complexes) ✓ - Forum - MySQL Fonction SI plusieurs conditions dans une table ✓ - Forum - Excel Delete from table cascade ✓ - Forum - Programmation SQL : delete [s/ une table] from [2 tables].. ✓ - Forum - Programmation ACCESS - afficher la ligne d'une table en couleur sous condition ✓ - Forum - VB / VBA

Bonjour,

J'essaye de faire un delete avec des conditions sur d'autres tables, mais je n'y arrive pas.

Pouvez-vous m'aider svp ?


DELETE (SELECT * FROM `orders_history` ORDER BY `Timestamp` DESC LIMIT 0,1)
WHERE (SELECT OrderType FROM getopenorders WHERE Exchange <> 'ORANGE') = ''
AND (SELECT OrderType FROM getorderhistory ORDER BY OrderType DESC LIMIT 0,1) = 'LIMIT_SELL'

Forum

A voir également:Delete avec conditionRequête avec conditions dans des tables differentes (complexes) ✓ - Forum - MySQL Fonction SI plusieurs conditions dans une table ✓ - Forum - Excel Delete from table cascade ✓ - Forum - Programmation SQL : delete [s/ une table] from [2 tables].. ✓ - Forum - Programmation ACCESS - afficher la ligne d'une table en couleur sous condition ✓ - Forum - VB / VBA

Web: www.shapebootstrap.net

1 réponse

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour, ce serait plutôt:

DELETE orders_history FROM orders_history, ...

montre-nous d'abord la requête qui te fournit les clés uniques des enregistrements que tu veux supprimer.

Reply
réponses:
  • auteur

    Bonjour,

    Voici le select qui fonctionne. Mais je n'arrive pas à faire un DELETE sur cette ligne.

    Vous pouvez m'aidez svp ?


    SELECT * FROM orders_history as t1
    WHERE exists (select 0 FROM getopenorders WHERE getopenorders.Exchange <> 'ORANGE' and getopenorders.exchange is not null)
    AND exists (SELECT 1 FROM getorderhistory WHERE getorderhistory.OrderType = 'LIMIT_SELL' ORDER BY getorderhistory.TimeStamp DESC LIMIT 0,1)
    AND t1.Type = 'buylimit'
    order by t1.Timestamp DESC LIMIT 0,1

  • auteur

    tu ne nous as pas donné la requête qui te fournit les clés uniques des enregistrements que tu veux supprimer. par ailleurs, ta requête me semble très suspecte, vu l’absence de jointure.
    malgré tout, suggestion:

    DELETE tdel FROM orders_history as tdel,  (SELECT cleunique FROM orders_history as t1 WHERE exists (select 0 FROM getopenorders WHERE getopenorders.Exchange <> 'ORANGE' and getopenorders.exchange is not null)  AND exists (SELECT 1 FROM getorderhistory WHERE getorderhistory.OrderType = 'LIMIT_SELL' ORDER BY getorderhistory.TimeStamp DESC LIMIT 0,1) AND t1.Type = 'buylimit' order by t1.Timestamp DESC LIMIT 0,1) as tsrc WHERE tdel.cleunique = tsrc.cleunique

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed