Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1409 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SGBD/SQL :récuperer sur 1 ligne toutes les infos d'un même ID

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SGBD/SQL :récuperer sur 1 ligne toutes les infos d'un même ID

n°1387126
dalhia101
Posté le 14-06-2006 à 09:50:11  profilanswer
 

Bonjour,
 
Quelles serait la requête qui me permettrait de récupérer toutes les infos d'un même ID sur une même ligne  sous ce format :
                ID,code1, libelle1, code2, libelle2
 
la table se compose de :
 ID 1 = code : PR   libelle : adresse1
 ID 1 = code : BU  libelle : adresse2
 ID 2 = code :SP   libelle : adresse3
 ID 3 = code : PR  libelle : adresse4
 ID 4 = code SP libelle : adresse5
 ID 4 = code PR libelle : adresse 6
 
Je veux afficher les codes "SP" + libelle et "PR" + libelle pour un même ID si pas de code SP je n'affiche que le code "PR"
si pas de code "PR" je n'affiche que le code "SP"
 
Merci pour votre aide.
 

mood
Publicité
Posté le 14-06-2006 à 09:50:11  profilanswer
 

n°1387509
chapi
Downgradé
Posté le 14-06-2006 à 15:28:11  profilanswer
 

Je pense que le mieux est de faire une boucle (curseur) sur l'ensemble de tes ID et génerer une concaténation à chaque occurence rencontrée.

 

Tu as un gros volume de données ?

 

Si tu as peu de codes (genre 3 : BU, PR SR) tu peux aussi faire 3 extractions vers des tables temporaires, lier le tout sur l'id et génerer ta phrase concaténée.

 

:)

n°1387582
dalhia101
Posté le 14-06-2006 à 16:17:05  profilanswer
 

Merci beaucoup pour ton aide  
 
Je vais tenter la solution des tables temporaires puisque la table n'a pas un gros voume de données.
Elle contient 20000 lignes au total
 
 

n°1387611
chapi
Downgradé
Posté le 14-06-2006 à 16:39:42  profilanswer
 

Les tables temporaires ça fonctionne si tu as peu de codes différents, et éventuellement que tu les connais préalablement  :)

 

Pense à te faire une table temp ou une selection sur un distinct IDet de faire des OUTER pour les liaisons, comme ça tu devrais tout choper :)


Message édité par chapi le 14-06-2006 à 16:40:39
n°1387629
dalhia101
Posté le 14-06-2006 à 16:52:36  profilanswer
 

Merci (j'ai seulement 2 type de code à récupérer PR et SP)  
 
 

n°1387849
swich
snps
Posté le 15-06-2006 à 00:06:17  profilanswer
 

en réponse à ta question, voila la requete sql
 
Si la table en source est celle ci :
table CUST  qui contient 3 champs : ID | COD | LIB
le champ COD ne  prend que 2 valeurs différentes
si on prend cette table 3 fois dans le from avec un alias différent, avec jointure sur l'id et filtre sur le code, on obtient une requete du type :
 
select  
 CUS.ID,
 CUS2.COD,
 CUS2.LIB,
 CUS1.COD,
 CUS1.LIB  
from BDDTEST.CUST  CUS, BDDTEST.CUST CUS2, BDDTEST.CUST  CUS1  
where    
CUS.ID=CUS1.ID(+)
AND CUS.ID=CUS2.ID(+)
And CUS1.COD(+)='PR'
And CUS2.COD(+)='SP'
 
 
 
Edit : sur de gros volumes de données, quelle solution (table temporaire ou select précédent) serait la plus performante ?


Message édité par swich le 15-06-2006 à 00:18:04
n°1387953
dalhia101
Posté le 15-06-2006 à 10:40:34  profilanswer
 

Merci beaucoup  
j'ai testé ta requête elle marche parfaitement
 
merci encore.

n°1388278
swich
snps
Posté le 15-06-2006 à 16:13:38  profilanswer
 

il faut dire merci à sunopsis ;) tout le mérite lui revient


Message édité par swich le 15-06-2006 à 16:14:03

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SGBD/SQL :récuperer sur 1 ligne toutes les infos d'un même ID

 

Sujets relatifs
Recuperer données SQL en fichier Excelstructure générique de boutique en ligne
récupérer la date de modification d'un fichierComment ignorer les sauts de ligne lors d'un parsing ?
récupérer l'adresse mac d'un clientrecuperer l'adress mac de pc en reseau /batch
Acceder en VBS via ligne de cmd à un fichier excelrécupérer un nom de machine
Récupérer puis modifier des infos depuis un fichier texte 
Plus de sujets relatifs à : SGBD/SQL :récuperer sur 1 ligne toutes les infos d'un même ID


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR