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 :

Un petit coup de main en SQL, SVP


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Un petit coup de main en SQL, SVP
    Bonjour à tous,

    J'aimerais améliorer ma connaissance - très insuffisante - des fonctions SQL et je suis en berne sur le besoin suivant :

    En langage clair, ma requête est :

    Modifier la valeur de la rubrique QTE de tous les enregistrements du fichier ARTICLE, cette valeur étant calculée comme la somme de la rubrique Q_LIVR de tous les enregistrements du fichier LIG_CDE relatifs à la clé CODART,commune à ARTICLE et LIG_CDE.

    Votre aide me sera d'un grand secours, et je vous en remercie par avance.

    Aline

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    A froid....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE ARTICLE SET QTE = (SELECT SUM(Q_LIVR) FROM LIG_CDE WHERE LIG_CDE.CODART=ARTICLE.CODART GROUP BY LIG_CDE.CODART)
    C'est bien de vouloir faire du SQL !!!!!! persévère !

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    il va manquer un EXISTS afin de ne pas foutre le bordel sur les lignes qui ne peuvent pas etre jointes

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    avec la fonction d’agrégat ça devrait renvoyer 0... non ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Un petit coup de main en SQL, SVP
    Merci à tous de vous être penchés sur ma question.

    J'obtiens un message d'erreur lors de mon test :
    Initialisation de la requête impossible.
    Mot SELECT inattendu.
    Une autre idée ?

    Merci d'avance

    Aline

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Citation Envoyé par michel.souris Voir le message
    avec la fonction d’agrégat ça devrait renvoyer 0... non ?
    du coup, s'il manque une donnée on force le stock a 0.
    Perso je n'aimerai pas.



    J'obtiens un message d'erreur lors de mon test :
    quel est votre sgbd ?

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Tu as bien mis les parenthèses pour la sous-requête ?

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Un petit coup de main en SQL, SVP
    Merci Michel

    J'ai servilement fait un copier-coller de votre requête initiale !!

    Aline

  9. #9
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Attention comme l'a précisé punkoff, les articles sans commande auront un stock à 0....

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Un petit coup de main en SQL, SVP
    Pour le stock à zéro, je peux m'en accommoder.
    Pour le SGBD, c'est HYPERFILE de PCSOFT
    Pour le texte de la requête, j'ai copié-collé la requête initiale de Michel

    Une idée , une solution ?

    Grand merci

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    oui, l'idée c'est de regarder la doc d'hyperfile pour connaitre les syntaxes acceptées pour une clause UPDATE.

    La syntaxe générale de la requête vous l'avez, maintenant adaptez.

    Ici un cours afin que vous compreniez la requête de michel.souris : http://sqlpro.developpez.com/cours/sqlaz/dml/#LIV

  12. #12
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Je vous ai sollicités pour rien !!

    Extrait de l'Aide de Windev :

    Remarques sur l'utilisation de l'instruction UPDATE dans WinDev :
    •La clause WHERE accepte des sous-sélections (par SELECT), à condition que la sous-sélection soit relative à un autre fichier.
    •L'expression SET n'accepte pas de sous-sélection (pas de commande SELECT directement après SET). De la même façon il n'est pas possible de faire une jointure au niveau de la partie UPDATE de la requête.


    Attendons la version 47

    Merci encore

  13. #13
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Pardon je croyais que ça avait résolu votre problème.

    HyperfileSQL ne possède pas une implémentation "complète" de la norme SQL... on souvent obligé de passer par de l'algo là où une simple requête suffirait avec certains autres SGBD... vous êtes dans ce cas !

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/09/2013, 17h22
  2. [XL-2010] petit coup de main svp
    Par nicolasloca dans le forum Excel
    Réponses: 1
    Dernier message: 11/11/2012, 21h18
  3. Petit coup de main svp
    Par guidav dans le forum La taverne du Club : Humour et divers
    Réponses: 4
    Dernier message: 09/11/2009, 13h50
  4. Réponses: 3
    Dernier message: 28/02/2003, 17h06

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