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

SQL Oracle Discussion :

Instruction rapide parcours tableau somme


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Par défaut Instruction rapide parcours tableau somme
    Bonjour

    Existe t'il une instruction en oracle 8 i qui gere automatiquement dans
    un tableau la somme ou une autre methode ?

    exemple

    n° 1 n°2 Montant
    123 124 44
    123 125 32
    123 124 88
    123 126 32

    je veux avoir comme resultat ( somme des n° 123 et 124)
    123 124 132
    123 125 32
    123 126 32

    Merci

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    une fonction de groupe pour un tableau sql, non.

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    un tableau? tu veux dire une table?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select n1,n2,sum(m) from t group by n1,n2

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Dans les autres langages de prog, un tableau c'est un array().

    En SQL ce serait une collection ou un VARRAY.

  5. #5
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    ouais, ben on peut aussi transformer la collection en table, non?
    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
    create or replace type rec is object (n1 number, n2 number, montant number);
    /
    create or replace type tableau is varray(4) of rec
    /
    select n1,n2,sum(montant) 
    from table(tableau(
    rec(123,124,44),
    rec(123,125,32),
    rec(123,124,88),
    rec(123,126,32)))
    group by n1,n2;
            N1         N2 SUM(MONTANT)
    ---------- ---------- ------------
           123        124          132
           123        126           32
           123        125           32

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    bon, pour retourner un tableau ça va être plus dur avec une version aussi antique. En 10g j'aurais pu imaginer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    declare
    t tableau;
    begin
    t := tableau(rec(123,124,44),rec(123,125,32),
      rec(123,124,88),rec(123,126,32));
    select cast(collect(rec(n1,n2,sum(montant))) as tableau)
      into t
    from table(t) group by n1,n2;
    end;
    /

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

Discussions similaires

  1. instruction while et tableau de valeurs
    Par Sh4dow49 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 16/07/2009, 15h32
  2. For Each - parcours tableau
    Par Aizen64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/12/2007, 21h26
  3. Comment melanger rapidement un tableau ?
    Par sbadecoder dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/10/2007, 14h35
  4. [Tableaux] Parcours tableau associatif
    Par damien27000 dans le forum Langage
    Réponses: 2
    Dernier message: 03/10/2007, 15h33
  5. pb parcours tableau 2d
    Par baillador dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 15
    Dernier message: 30/03/2006, 16h20

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