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

DB2 Discussion :

Pbm SQL d'occupants


Sujet :

DB2

  1. #1
    Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2015
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2015
    Messages : 98
    Points : 69
    Points
    69
    Par défaut Pbm SQL d'occupants
    Bonjour,

    J'ai une table avec par enregistrement l'adresse et le nom de l'occupant . Je peux avoir au max 2 occupants par adresse.
    Mon fichier en entré à donc 2 lignes.
    Est il possible d'avoir un enregistrement avec en sortie l'adresse avec les 2 occupants ?

    Pour exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Fichier en entrée 
    Adresse          Ville    NomOccupant
    Adresse1         Ville1   TOTO
    Adresse1         Ville1   TITI
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fichier en sortie
    Adresse          Ville    NomOccupant1  NomOccupant2  
    Adresse1         Ville1   TOTO          TITI
    Je voudrais eviter un fetch...

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Points : 1 876
    Points
    1 876
    Par défaut
    Je pense évidemment à PIVOT mais aucune idée des possibilités en DB2 ou de votre middleware.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Vu qu'il y a au maximum 2 occupants par adresse, tu peux utiliser une jointure:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select a1.adresse,a1.ville,, a1.nom,a1.prenom,a2.nom,a2.prenom
    from LaTable as a1
    left outer join LaTable as a2
    on A1.adresse = a2.adresse and a1.ville = a2.ville and a1.id > a2.id

    Le dernier critère de jointure permet ici de ne pas avoir de doublon, avec une ligne occupant1/occupant2 et une autre occupant2/occupant1.
    Il faut voir dans ton cas comment adapter ce critère.

    Tatayo.

  4. #4
    Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2015
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2015
    Messages : 98
    Points : 69
    Points
    69
    Par défaut
    Merci pour ta solution Tatayo, j'en étais arrivé presque à la même solution .
    Ma solution était :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Select *    
    FROM LaTable as a1,
                 LaTable as a
        WHERE 
                 a1_Numid=a2_Numid
                 a1.idOccupant < a2.idOccupant and
                a1.nom<>a2.Nom
    Je n'utilise pas le left outer join , ce qui que ta solution est bcp plus élégante et celle que je vais utiliser, merci

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

Discussions similaires

  1. [MySQL 4.1.9] pbm de requete sql
    Par mariafan dans le forum Langage SQL
    Réponses: 8
    Dernier message: 10/07/2007, 16h51
  2. Réponses: 8
    Dernier message: 18/04/2007, 16h39
  3. Pbm : Connexion base de donnée SQL 2005 dans Visual Studio C#
    Par vampyrx dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/05/2006, 20h55
  4. [SQL SERVER 2000] pbm de transaction
    Par dedella_al dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 01/08/2005, 13h03
  5. pbm envoi mail en pl/sql
    Par Nounoursonne dans le forum PL/SQL
    Réponses: 2
    Dernier message: 13/07/2005, 09h04

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