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 et SQL. Discussion :

Utilisation des virgules entre tables intermédiaires


Sujet :

Requêtes et SQL.

  1. #1
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut Utilisation des virgules entre tables intermédiaires
    Bonjour,

    Pourriez-vous, svp, m'expliquer en terme de jointure la signification des virgules entre tables intermédiaires (de l'union par exemple ??).

    Voici un exemple (la création de la table est faite avec SAS et la requête de sélection est en SQL):

    à partir de la table test, je veux faire la somme de var 3 lorsque la valeur est supérieur à 100 et la moyenne de var 4 lorsque c'est supérieur à 40 ensuite je veux compter le nombre d’éléments
    le résultat attendu est le suivant:
    count = 6
    somme var3 500

    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
     
    data test;
    format var1 $2. var2 $2. var3 var4 var5;
    input var1 var2 var3 var4 var5;
    cards;
    a1 b1 100 12 15
    a2 b5 200 25 30
    a2 b2 50 20 14
    a3 b1 54 85 96
    a3 b3 300 400 12
    a3 b4 1 2 3
    ;
    run;
     
     
    proc sql;
     
    create table test1 as select t.sum_var3,t1.moy_var4, t2.nb from 
    (
    select sum(var3) as sum_var3 from test where var3 >100 ) as t
    , 
    (select avg(var4) as moy_var4  from test where var4>40 ) as t1
    ,
    (select count(*) as nb from test) t2
     
    ;quit;

    Merci

    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    les virgules servent de delimteur d'argument dans l'instruction SQL concernee.
    Ces arguments sont defines par la syntaxe du langage telle qu'etablie par ses concepteurs.

    La tu as 3 sous-requetes qui simulent autant de "tables" qui te permettent de presenter ton rapport syntetique.

    Aussi, ceci n'est pas du SQL Access, pour une reponse plus poussee, je t'invite a poser ta question dans in forum dedie a SAS.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/02/2017, 16h55
  2. Créer par code des relations entre tables d'une même base ?
    Par AndréPe dans le forum Modélisation
    Réponses: 2
    Dernier message: 21/11/2007, 18h27
  3. Réponses: 4
    Dernier message: 13/06/2007, 09h45
  4. [hibernate][webapp]Utilisation des hbms entres deux packages
    Par MrDuChnok dans le forum Hibernate
    Réponses: 9
    Dernier message: 11/01/2007, 13h21
  5. Récupération des relations entre tables
    Par Themacleod1980 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/02/2006, 11h34

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