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 :

Création et interrogation de table [Débutant(e)]


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut Création et interrogation de table
    Salut à tous,
    voila mon problème:
    Une table contenant le suivi de consommation des abonnés d’un opérateur de téléphone mobile est décrite par le schéma relationnel ci-dessous :
    CONSOTEL (NCLI, NOTEL, DATEHEURE, NOAPPELE, DUREE, TYPAPPEL, PRIX)

    NCLI : Numéro de client
    NOTEL : Numéro de téléphone de la ligne du client
    DATEHEURE : date et heure du début d’appel
    NOAPPELE : Numéro du correspondant
    DUREE : Durée de l’appel en secondes
    TYPAPPEL : Type d’appel (appel vers un mobile, vers un fixe, international,..)
    PRIX : Montant facturé pour la communication

    1) A partir des données contenues dans cette table alimentez une nouvelle table contenant pour chaque jour de consommation le nombre total d’appels et la durée totale de ces appels par ligne de téléphone :

    CONSOTEL_JOUR (NCLI, NOTEL, DATEJOUR, DUREEJOUR, NBAPPJOUR)

    2) On souhaite répondre aux questions du type : pour chaque ligne de téléphone, donnez les
    jours où le client a passé moins de n appels ou bien les jours où la durée totale des appels
    était inférieure à x minutes entre deux dates données.
    Ecrire la requête SQL correspondante.

    j'ai besoin un peu d'aide pour repondre à ces deux questions


    voila ce que j'ai fait pour creer et inserer quelques lignes
    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
     
    CREATE TABLE CONSOTEL (  NCLI CHAR (7), 
              NOTEL CHAR(10),  
              DATEHEURE DATE,  
              NOAPPELE CHAR(10),  
              DUREE NUMBER(5), 
              TYPAPPEL CHAR(3),   
              PRIX NUMBER(6,2)  ) ; 
     
    Insert into CONSOTEL values ('F04358J','0612458703',to_date('16/09/2011 17:49','DD/MM/YYYY 
    HH24:MI'),'0684952305',232,'ILL',null); 
    Insert into CONSOTEL values ('F04358J','0612458703',to_date('16/09/2011 17:42','DD/MM/YYYY 
    HH24:MI'),'0675321218',164,'ILL',null); 
    Insert into CONSOTEL values ('F04358J','0612458703',to_date('16/09/2011 13:11','DD/MM/YYYY 
    HH24:MI'),'0675321218',69,'ILL',null); 
    Insert into CONSOTEL values ('F04358J','0612458703',to_date('15/09/2011 20:05','DD/MM/YYYY 
    HH24:MI'),'700',103,'FXF',null); 
    Insert into CONSOTEL values ('F04358J','0612458703',to_date('15/09/2011 20:01','DD/MM/YYYY 
    HH24:MI'),'700',118,'FXF',null); 
    Insert into CONSOTEL values ('F04358J','0612458703',to_date('15/09/2011 20:00','DD/MM/YYYY 
    HH24:MI'),'700',56,'FXF',null); 
    Insert into CONSOTEL values ('F04358J','0612458703',to_date('15/09/2011 18:48','DD/MM/YYYY 
    HH24:MI'),'0675321218',14,'ILL',null); 
    Insert into CONSOTEL values ('F04358J','0612458703',to_date('15/09/2011 13:30','DD/MM/YYYY 
    HH24:MI'),'0675321218',36,'ILL',null);

  2. #2
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    Pour la première question je m'en sors avec les requêtes suivantes :

    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
    CREATE TABLE CONSOTEL_JOUR (
    			    NCLI CHAR (7),
                                NOTEL CHAR(10),
                                DATEJOUR DATE,
                                DUREEJOUR NUMBER(10),  -- duree en secondes --
                                NBAPPJOUR NUMBER(5)    -- Nbr appel par jour --
    			    );
     
    INSERT INTO CONSOTEL_JOUR 
     
    SELECT NCLI,NOTEL,
    	to_date ( EXTRACT(DAY FROM DATEHEURE)||'/'||EXTRACT(MONTH FROM DATEHEURE)||'/'||EXTRACT(YEAR FROM DATEHEURE)) AS DATEJOUR, 
    	SUM (DUREE) AS DUREETOT,  
    	COUNT(NOAPPELE) AS NBR_APPEL
    FROM CONSOTEL 
    GROUP BY NCLI,NOTEL,EXTRACT(DAY FROM DATEHEURE),EXTRACT(MONTH FROM DATEHEURE),EXTRACT(YEAR FROM DATEHEURE)
    ORDER BY LADATE;
    merci pour vos indications pour la seconde question

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    En vous aidant de la table créée vous devriez retomber sur vos pattes sans trop de problème

Discussions similaires

  1. Interroger deux table mysql en php
    Par rane dans le forum Débuter
    Réponses: 3
    Dernier message: 13/03/2006, 13h31
  2. pb avec la requête "création d'une nouvelle table"
    Par fab4_33 dans le forum Access
    Réponses: 4
    Dernier message: 03/02/2006, 17h37
  3. Réponses: 15
    Dernier message: 16/08/2005, 14h43
  4. utiliser le quickreport et le sql pour interroger une table
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 7
    Dernier message: 28/07/2005, 08h46
  5. interroger la table arp d'un serveur dhcp
    Par le y@m's dans le forum Développement
    Réponses: 6
    Dernier message: 17/03/2005, 08h34

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