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 :

[SAS] [Débutant] Dédoublonnage de table ?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 366
    Par défaut [SAS] [Débutant] Dédoublonnage de table ?
    Bonjour,

    Je travaille sous SAS mais pour construire une table bien propre je vais utiliser la proc SQL qui permet de travailler avec le langage SQL. J'espère que j'ai du coup posté au bon endroit.

    Voila mon problème :

    J'ai une table contenant divers champs dont les principaux sont un numéro d'identifiant, un identifiant de lieu (numérique) et une date comme suit :

    Id --- Lieu --- Date
    1 25007 06DEC2006 17:13:05
    1 25009 06DEC2006 18:01:22
    1 25008 06DEC2006 17:32:54
    2 25008 12NOV2005 09:58:51
    2 25009 12NOV2005 10:03:33
    2 25008 05DEC2006 02:04:06

    ...

    Comme vous le constatez cette table n'a pas de vraie clé primaire (simple en tout cas) Ainsi l'Id apparaît plusieurs fois, le lieu également, et on peut donc avoir pour un même Id et un même lieu deux dates différentes.


    Je voudrais obtenir une table de ce genre :

    Id Lieu1 Lieu2 Lieu3
    1 06DEC2006 17:13:05 06DEC2006 17:32:54 06DEC2006 18:01:22
    2 0 12NOV2005 09:58:51 12NOV2005 10:03:33
    2 0 05DEC2006 02:04:06 0

    ou, si on ne peut pas garder deux fois le même Id (qui correspondent ici à deux trajets pour la même personne) mettre un nouvel identifiant qui serve juste de clé.

    En fait, j'avais pensé créer une deuxième table à partir de la première et de faire un
    SELECT DISTINCT Id
    FROM table
    puis essayer de faire une jointure mais non ça ne résout pas le problème, je n'arrive pas à récupérer toutes les informations concernant un même Id...

    Si quelqu'un pouvait me donner une piste pour me débloquer...

    Merci
    Alqualonde

  2. #2
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Salut,

    Pour traiter de ce type de problématique, on évite de passer par la langage SQL, car les solutions proposées mettent en jeu des mécanismes de la norme SQL3, pris en compte uniquement par des SGBD récents (SQL Server 2005, Oracle 9, etc.)

    Cf cette proposition de solution en SQL : Sélection multivaluée

    Donc si tu peux te tourner vers du procédural, n'hésite pas
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 366
    Par défaut
    Aie ça risque donc d'être compliqué car je ne pense pas que SAS permette l'utilisation des mécanismes du SQL3.

    En tout cas merci pour ta réponse. Par contre qu'est-ce que tu veux dire par "si tu peux te tourner vers du procédural" ? Ce serait coder moi-même une fonction dans un langage de programmation comme Java par exemple pour faire ça ?

    (désolé je ne maîtrise que peu les termes "techniques" liés à l'informatique )

  4. #4
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Citation Envoyé par Alqualonde
    En tout cas merci pour ta réponse. Par contre qu'est-ce que tu veux dire par "si tu peux te tourner vers du procédural" ? Ce serait coder moi-même une fonction dans un langage de programmation comme Java par exemple pour faire ça ?
    Oui, tout à fait. La plupart des SGBD ont leur langage procédural propriétaire, mais tu peux faire ça dans le langage que tu utilises pour ton interface graphique.
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 17h40
  2. Erreur 233 sous sql server
    Par brajae85 dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2009, 16h12
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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