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

Langage SQL Discussion :

Verification d'une requête sql


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Par défaut Verification d'une requête sql
    bonjour,

    j'arrive pas a mettre a jour une table avec une autre,

    pouvez-vous me verifier ma requette?



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    --premiere requette---
    update sarticle set pri_rem=(
    select l.pri_net
    from article a,sarticle s, lregfour l
    where s.cod_cip=a.cod_cip and s.cod_cip=l.cod_cip
    and l.typ_fou<>"f" and l.cod_fou=1135 and l.cod_fac=3348
    and s.dat_ent=l.dat_ent  and a.cod_act="PHN")
    where cod_cip=733964
    pour cette requette, j'ai verifier ce qui est en parenthese, sa fonctionne bien .

    sinon
    j'avais une autre idee plus court , mais sa fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    -- 2° requette --
     
    update sarticle set pri_rem=(select max (dat_ent) , cod_cip from lregfour)
    je trouve pas mon erreur; merci de vos idée...

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    Bonjour,

    La table sarticle n'a pas besoin de figurer dans votre sous-requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    UPDATE sarticle s
    SET pri_rem = 
    (
     SELECT l.pri_net
     FROM article a
     JOIN lregfour l ON a.cod_cip = l.cod_cip
     WHERE s.cod_cip=a.cod_cip 
     AND s.dat_ent=l.dat_ent 
     AND l.typ_fou<>"f" 
     AND l.cod_fou=1135 
     AND l.cod_fac=3348 
     AND a.cod_act="PHN" 
    )
    WHERE s.cod_cip=733964
    Et de manière générale, lorsque vous avez un problème, essayez d'être plus précis que "je n'arrive pas" ou "ça fonctionne pas", c'est plus simple pour vous aider.
    Un message d'erreur? Aucune ligne updatée? Mauvaise valeur récupérée?

  3. #3
    Membre confirmé
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Par défaut
    oui c'est vrai vous avez raison, mais helas j'avais pas de messge d'erreur , mais sa fonctionne pas.

    merci de ton aide .
    je vais l'assayer de suite

  4. #4
    Membre confirmé
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Par défaut
    desole mais sa fonctionne pas , elle me dit error ligne 1 position 17

    je n'ai pas preciser , je travail sous linux .

    mon systeme informatique n'aime pas trop les jointures.


    j'ai essayer de faire uniquement la selection qui est entre les parentheses
    sa fonctionne pas, mon systeme ne veux pas de jointure.

    as tu une solution sans jointure?

    Merci de ton aide

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    Pas sans jointure, mais sans le mot clé JOIN, oui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    UPDATE sarticle s
    SET pri_rem = 
    (
     SELECT l.pri_net
     FROM article a, lregfour l 
     WHERE a.cod_cip = l.cod_cip
     AND s.cod_cip=a.cod_cip 
     AND s.dat_ent=l.dat_ent 
     AND l.typ_fou<>"f" 
     AND l.cod_fou=1135 
     AND l.cod_fac=3348 
     AND a.cod_act="PHN" 
    )
    WHERE s.cod_cip=733964
    Lorsque que tu selectionnes des informations de plusieurs tables différentes, et que tu mets une condition d'égalité entre deux colonnes de ces tables, tu fais une jointure. Le mot clé JOIN est simplement une manière plus lisible de décrire une jointure, et c'est la norme depuis plus de 15 ans.

  6. #6
    Membre confirmé
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Par défaut
    je suis desole sa toujours fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      update sarticle
      SET pri_rem =
      (
    SELECT l.pri_net
    FROM lregfour l ,sarticle s
    WHERE s.cod_cip = l.cod_cip
    AND s.dat_ent=l.dat_ent
    AND l.typ_fou<>"f"
    AND l.cod_fou=1135
    AND l.cod_fac=3348
      )
      WHERE cod_cip=733964
    je l'ai allege un peu, toujour le même probleme, se qui se trouve entre les parenthese marche, mais pas la mise a jour.

    comment je pourrais faire?

    ont peut etre pas faire une mise a jour et une selection sur la meme table?

    pour plus d'explication:

    je souhaite faire une mise a jour sur la table sarticle avec le dernier prix d'achat dans la table lregfour sur la derniere date d'entrer.

    Merci de ta recherche..

Discussions similaires

  1. Pb sur une requête SQL (de champ vide)
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2004, 11h12
  2. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  3. Récupurer via une requête SQL la valeur la plus proche
    Par yoda_style dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/04/2004, 13h52
  4. Résultat d'une requète SQL
    Par camino dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2004, 15h22
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

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