IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

WHERE imbriqués dans Delphi


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 466
    Points : 137
    Points
    137
    Par défaut WHERE imbriqués dans Delphi
    Bonjour,
    je sèche sur la syntaxe de WHERE imbriqués dans une requête Delphi
    Je dois mettre un champ 'Flag' à '-2SD' dans la table QC_Res_Temp
    quand la valeur du champ de cette même table est inférieure à la valeur MEAN de la table QC_Val
    de l'enregistrement dont le champ TEST est égal à PLT
    et le champ QCLot est égal à 40971102
    dont voici le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Query2.Active:=False;
                   Query2.SQL.Clear;
                   Query2.SQL.Text:='UPDATE QC_Res_temp SET FLAG= '+quotedStr('-2SD') +
                   ' WHERE RESULT < '  +
                   ' SELECT (QC_VAl.MEAN' +
                   ' WHERE TEST = PLT'+
                   ' AND QCLOT = 40971102)';
                   Query2.ExecSQL();
    Qui a une idée???

    d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,


    et quel est le probleme ?

  3. #3
    Membre habitué
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 466
    Points : 137
    Points
    137
    Par défaut
    Bonjour Punkoff et merci pour ta réponse!
    En fait après de nombreuses tentatives pour imbriquer deux Query et deux WHERE ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    UPDATE QC_RES_TEMP
    SET FLAG='-2SD'
    WHERE RESULT < (SELECT MEAN
    -2* ETCALC FROM QC_VAL
    WHERE TEST='PLT'
    AND QCLOT='40971102'
    ) AND QC_RES_TEMP.TEST='PLT'
    AND QC_RES_TEMP.QC_LOT='40971102'
    fonctionne
    et celui-ci (Delphi)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     for i:=1 to Query.FieldByName('nombre').AsInteger-1 do
            begin
                    Query.Active:=False;
                    Query.SQL.Clear;
                    Query.SQL.Add('SELECT Test, Result, QC_Lot, Flag FROM qc_res_temp LIMIT '+(intToStr(i))+',1');
                    Query.Active:=true;
                    testtemp:=Query.FieldByName('test').AsString;
                    QC_lottemp:=Query.FieldByName('QC_Lot').AsString ;
     
                    Query2.Active:=False;
                    Query2.SQL.Clear;
                    Query2.SQL.Text:='UPDATE QC_RES_TEMP' +
                    ' SET FLAG= '+quotedStr('-2SD') +
                    ' WHERE RESULT < (SELECT MEAN -2* ETCALC' +
                    ' FROM QC_VAL' +
                    ' WHERE TEST=' +quotedStr(testtemp)+
                    ' AND QCLOT='+quotedStr(QC_lottemp)+
                    ' ) AND QC_RES_TEMP.TEST=' +quotedStr(testtemp)+
                    ' AND QC_RES_TEMP.QC_LOT='+quotedStr(QC_lottemp);
                    Query2.ExecSQL();
               end;
    aussi
    J'ai sué sur l'imbrication et la ponctuation
    Merci pour ton aide
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Arrêt de l'exécution d'une requête MySQL dans DELPHI.
    Par joelmarc dans le forum Bases de données
    Réponses: 9
    Dernier message: 11/10/2004, 16h11
  2. procédure stockée Oracle dans delphi 6
    Par UPNE387 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/05/2004, 09h47
  3. [Débutant] Modifs dans Delphi
    Par J-P-B dans le forum XMLRAD
    Réponses: 6
    Dernier message: 20/06/2003, 15h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo