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 de class ou groupe sous SQL Teradata


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Points : 27
    Points
    27
    Par défaut Création de class ou groupe sous SQL Teradata
    Bonjour,

    je souhaite solutionner ce problème ci dessous:

    CONTRAT NUM_CDE DATE_CDE TELEPHONE DAT_ACTIVATION
    1AZERTY 5254366809 18/06/2018 16:15 771352815 21/06/2018 14:22
    1AZERTY 5254366809 18/06/2018 16:15 771352817 21/06/2018 14:22
    1AZERTY 5254366809 18/06/2018 16:15 771352819 21/06/2018 14:24
    1AZERTY 6463642798 18/06/2018 16:18 771352815 21/06/2018 14:22
    1AZERTY 6463642798 18/06/2018 16:18 771352817 21/06/2018 14:22
    1AZERTY 6463642798 18/06/2018 16:18 771352819 21/06/2018 14:24
    1AZERTY 8121887323 18/06/2018 16:13 771352815 21/06/2018 14:22
    1AZERTY 8121887323 18/06/2018 16:13 771352817 21/06/2018 14:22
    1AZERTY 8121887323 18/06/2018 16:13 771352819 21/06/2018 14:24

    Pour un contrat donnée ,on a un même numéro de commande(NUM_CDE) correspondant à 3 Numeros de telephone, or j'aimerais attribuer pour chaque NUM_CDE un seul numéro .
    CAD:
    a)NUM_CDE 5254366809 +> 771352815
    b)NUM_CDE 6463642798 +> 771352817
    c)NUM_CDE 5254366809 +> 771352819

    mais je n'ai pas d'idée sur la formulation SQL possible, faire une class, un groupe, un case etc...Si quelqu'un peut m'aider ce serait sympa!

    PS:Il ya plusieurs CONTRATs dans le dossier avec des NUM_CDE differents.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Vous n'avez pas indiqué les règles de gestion qui indiquent quel numéro doit être gardé ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Points : 27
    Points
    27
    Par défaut
    La regle de gestion c'est nous qui devons la definir. En fait à un numéro de cmde doit correspondre un numero de telephone, peut importe lequel puisqu'ils sont tous créés à la même date et même heure , peut importe les minutes.

    Je reprends l'exemple : on peut avoir

    a)NUM_CDE 5254366809 +> 771352815
    b)NUM_CDE 6463642798 +> 771352817
    c)NUM_CDE 5254366809 +> 771352819

    ou

    CAD:
    a)NUM_CDE 5254366809 +> 771352817
    b)NUM_CDE 6463642798 +> 771352819
    c)NUM_CDE 5254366809 +> 771352815 ETC

    Car dans mon tableau initial on constate que chaque commande associe à chaque fois les 3 numeros.Ce qui n'est pas le but recherché.Une commande ne doit pas etre associée à plusieurs numero de téléphone.
    Et moi je veux garder une commande=> 1 numero peut importe lequel mais à condition d'etre associé au même Contrat:1AZERTY. Merci

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 380
    Points : 39 862
    Points
    39 862
    Billets dans le blog
    9
    Par défaut
    Sauf qu'attribuer un numéro de téléphone au hasard n'a aucun sens fonctionnellement parlant !
    Ici votre problème n'est pas d'ordre technique mais bien fonctionnel, si vous attribuez des n° de téléphone au hasard, qui sait quel personne vous allez appeler ...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    Le but n'est pas d'appeler des personnes mais d'attribuer une référence commande à un seul numero de telephone. J'ai bien indiqué que les numeros appartiennent à un même contrat :1AZERTY donc à la même personne.Cette personne a passé 3 commandes donc 3 numeros de téléphones sauf que le logiciel a dupliqué pour chaque commande les 3 numeros au lieu d'attribuer à 1 commande un seul numéro.merci

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Quelque chose comme ça :
    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
    create multiset volatile table mvt_datas, no log
    ( Contrat           varchar(10)
    , Num_CDE           varchar(10)
    , Date_CTE          timestamp(0)
    , Telephone         varchar(10)
    , Date_Activation   timestamp(0)
    )
    primary index (Contrat)
    on commit preserve rows;
     
    insert into mvt_datas values('1AZERTY', '5254366809', timestamp '2018-06-18 16:15:00', '771352815', timestamp '2018-06-21 14:22:00');
    insert into mvt_datas values('1AZERTY', '5254366809', timestamp '2018-06-18 16:15:00', '771352817', timestamp '2018-06-21 14:22:00');
    insert into mvt_datas values('1AZERTY', '5254366809', timestamp '2018-06-18 16:15:00', '771352819', timestamp '2018-06-21 14:24:00');
    insert into mvt_datas values('1AZERTY', '6463642798', timestamp '2018-06-18 16:18:00', '771352815', timestamp '2018-06-21 14:22:00');
    insert into mvt_datas values('1AZERTY', '6463642798', timestamp '2018-06-18 16:18:00', '771352817', timestamp '2018-06-21 14:22:00');
    insert into mvt_datas values('1AZERTY', '6463642798', timestamp '2018-06-18 16:18:00', '771352819', timestamp '2018-06-21 14:24:00');
    insert into mvt_datas values('1AZERTY', '8121887323', timestamp '2018-06-18 16:13:00', '771352815', timestamp '2018-06-21 14:22:00');
    insert into mvt_datas values('1AZERTY', '8121887323', timestamp '2018-06-18 16:13:00', '771352817', timestamp '2018-06-21 14:22:00');
    insert into mvt_datas values('1AZERTY', '8121887323', timestamp '2018-06-18 16:13:00', '771352819', timestamp '2018-06-21 14:24:00');
     
      select Contrat, Num_CDE, Date_CTE, Telephone, Date_Activation
        from mvt_datas
     qualify row_number() over(partition by Contrat, Num_CDE   order by Telephone asc)
           = row_number() over(partition by Contrat, Telephone order by Num_CDE   asc);
     
    Contrat  Num_CDE     Date_CTE             Telephone  Date_Activation
    -------  ----------  -------------------  ---------  -------------------
    1AZERTY  5254366809  2018-06-18 16:15:00  771352815  2018-06-21 14:22:00
    1AZERTY  6463642798  2018-06-18 16:18:00  771352817  2018-06-21 14:22:00
    1AZERTY  8121887323  2018-06-18 16:13:00  771352819  2018-06-21 14:24:00

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Points : 27
    Points
    27
    Par défaut
    Waldar,

    C'est top !

    merci.

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

Discussions similaires

  1. Relation réflexive avec une classe d'association sous SQL
    Par Josef2017 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/03/2017, 14h15
  2. [2012] création de data where housse sous sql server 2012
    Par Jaafar_scorpion dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 21/02/2014, 16h07
  3. Création d'un cube sous Sql Server 2005
    Par Valentino62100 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/04/2007, 10h42
  4. Création d'une vue sous SQL Server - group by complexe
    Par csembeil dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 12/01/2006, 17h17
  5. Création d'user sous SQL Server
    Par nnn2050 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/12/2005, 17h26

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