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

Oracle Discussion :

Est-ce Cela Peut Fonctionner Requetes Mise A Jour


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Par défaut Est-ce Cela Peut Fonctionner Requetes Mise A Jour
    Bonjour à tous et à toutes,

    J'ai essayé de résoudre mes questions sur des requêtes de mises à jour.
    Pouvez-vous me dire si cela peut fonctionner.

    Merci pour vos conseils.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Peux-tu donner un exemple du résultat que tu veux obtenir ?

    Voici le résultat que tu obtiens actuellement:
    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
     
    MATERIAUX
    no_mat  code_mat
    1       A
    2       B
    3       C
     
    ENTREPOTS (avant MAJ)
    no_ent no_mat
    1      1
    1      2
    2      1
    2      2
    2      3
     
    ENTREPOTS (aprest MAJ)
    no_ent no_mat memo
    1      1      5
    1      2      5
    2      1      5
    2      2      5
    2      3      5
    Je ne pense pas que ce soit ce que tu veux

  3. #3
    Membre Expert Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Par défaut
    Bonjour,

    je vois que vous avez avancé depuis cette discussion là mais pourquoi écrivez-vous dans votre document word et pas sur le forum ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Par défaut
    Je cherche à obtenir que la colonne memo de type varchar2(65), contienne le nombre d'entrepôts par matériaux .

    Citation Envoyé par plaineR
    Peux-tu donner un exemple du résultat que tu veux obtenir ?

    Voici le résultat que tu obtiens actuellement:
    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
     
    MATERIAUX
    no_mat  code_mat
    1       A
    2       B
    3       C
     
    ENTREPOTS (avant MAJ)
    no_ent no_mat
    1      1
    1      2
    2      1
    2      2
    2      3
     
    ENTREPOTS (aprest MAJ)
    no_ent no_mat memo
    1      1      5
    1      2      5
    2      1      5
    2      2      5
    2      3      5
    Je ne pense pas que ce soit ce que tu veux

  5. #5
    Membre Expert Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Par défaut
    Citation Envoyé par dauphin34000
    Je cherche à obtenir que la colonne memo de type varchar2(65), contienne le nombre d'entrepôts par matériaux .
    Donc vous voulez par exemple que le champ mémo de la 1ere ligne, qui concerne le matériau 1 dans l'entrepot 1 contienne le chiffre 2 puisqu'il y a 2 entrepots qui contiennent du matériau 1 ?

    Et que la dernière ligne, qui concerne le matériau 3 dans l'entrepot 2 contienne le chiffre 1 puisque l'entrepot 2 est le seul à possèder du matériau 3 ?

    Moi j'aurai mis cette information dans la table matériau plutôt... Car l'information va se répeter pour chaque ligne du même matériau pour des entrepots différents.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Par défaut
    Cela devrait mettre dans la colonne memo le nombre de stages et la matière

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Avec un autre exemple :
     
    J'ai une table stages
    elle contient : no_stage number(38)
                       code_stage varchar2(6)
                       memo varchar2(65)
                       mat_no_matiere number(38)
     
    et une table matieres
    elle contient : no_matiere number(38)
                        code_mat varchar2(3)
                        libel_mat varchar2(240)
     
    Les questions :
    1 - Je dois valoriser la colonne memo de la table "stages",
     avec le nombre de stages de la matière.
    2 - Je dois améliorer la requête précédente : 
    En rajoutant le code matière. Avec la fonction concat  
     
    Pour la question 1 si on fait :
    update stages
    set memo=(select count(no_stage)
    from matieres m, stages st
    where m.no_matiere=st.mat_no_matiere); 
     
    cela fonctionne mais la colonne memo contient
    le même chiffre pour tous,
    je pense que ce n'est pas normal ? 
     
    Pour la question 2 si on fait :
     
    update stages
    set memo=(select concat(count(st.no_stage),m.code_mat)
    from matieres m, stages st
    where m.no_matiere=st.mat_no_matiere);
     
    Oracle m'indique : ORA-00937: la fonction de groupe ne porte pas sur un groupe simple

  7. #7
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    1. Tu ne fais l'update d'une seule colonne tu en mets 2 dans ton select

    2. Quand tu utilises une fonction d'aggrégation, tu es obligé de faire un group by sur les colonnes qui ne sont pas "aggréguées"
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select col1, count(*)
    from matable
    group by col1;
    3. Comme tu as un = ton select doit ne ramener qu'une seule ligne.

    Bref, il y a encore du travail pour que ta requête fonctionne.
    => Commence par écrire le select tel que tu veux le résultat.

    Enfin es-tu sûr que ta colonne memo est dans la table stages, il m'aurait paru plus logique qu'elle soit dans la table matières.

Discussions similaires

  1. Decrémenter un champ dans requete mise a jour
    Par scrat57000 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 20/07/2007, 13h31
  2. pb requete mise a jour entre 2 tables
    Par lolothom dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 08/07/2007, 17h29
  3. Requete Mise A Jour UPDATE
    Par Teddy63 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 29/05/2007, 09h15
  4. [Requete]Mise a jour d'un champ
    Par le_gueux90 dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 11/05/2007, 11h52
  5. Probleme avec une requete mise a jour
    Par mael94420 dans le forum ASP
    Réponses: 2
    Dernier message: 08/03/2006, 20h56

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