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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [mySQL] Grouper plusieurs champs en un champs ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[mySQL] Grouper plusieurs champs en un champs ?

n°340694
f L Y
Posté le 23-03-2003 à 12:07:55  profilanswer
 

Salut,
 
voici mon problème :
j'ai une table avec comme champs : "joueur_01, joueur_02, ..., joueur_16".
J'aimerai à l'aide d'une requête pouvoir réunir toutes les valeurs des champs "joueur_xx" en un seul champs "joueurs".
 
En gros, au lieu d'avoir 16 champs avec une seule valeur dans chaque, avoir 1 champs avec 16 entrées, de type : joueurs=[joueur_01,...,joueur_16]
 
Merci d'avance !


Message édité par f L Y le 23-03-2003 à 12:23:13
mood
Publicité
Posté le 23-03-2003 à 12:07:55  profilanswer
 

n°340768
trueslash
(╯°□°)╯︵ MMM
Posté le 23-03-2003 à 15:03:55  profilanswer
 

:/
 
chuis pas sûr d'avoir  bien saisi le problème mais à ta place, je changerais le taTable(joueur_1, joueur_2, ..., joueur_16) par taTable(no_joueur, joueur)


---------------
sympathisant UBCT
n°340785
skylight
Made in France.
Posté le 23-03-2003 à 16:31:16  profilanswer
 

si joueur_XX est amené a être une unique valeur, utilise SET/ENUM

n°340820
mrbebert
Posté le 23-03-2003 à 18:11:03  profilanswer
 

un truc dans le genre :
SELECT concat(joueur1, joueur2 ... joueur16)
FROM ta_table
WHERE .....

n°341216
MagicBuzz
Posté le 24-03-2003 à 11:51:25  profilanswer
 

T'as essayé les signes de concaténation standard ?
 
Sous Oracle par exemple :
 
joueur1 || joueur2 as joueurs
 
Sous MSSQL Server :
 
jour1 + joueur2 as joueurs
 
Sinon, il y a aussi le symbole & (ne pas confondre avec && qui est l'opérateur booléen AND)

n°341219
MagicBuzz
Posté le 24-03-2003 à 11:53:28  profilanswer
 

Par exemple (désolé, pas trouvé plus simple comme requête :D)
 
SELECT     cde.CDE_ID, col.COLIS_ID, pro.PRO_SAP, ligcol.NB_PROD, CAST(ligcde.LIGCDE_VAL AS float) / CAST(ligcde.LIGCDE_QTE AS float) / 100 AS Expr2,  
                      prolan.PRO_NOM AS Expr1, mar.MAR_LIB, cde.DATE_CDE, vague.VG_DATE, famlan2.FAM_LIB, famlan.FAM_LIB AS Sous_Fam, cde.CN,  
                      cde.CLI_NOM + ' ' + cde.CLI_PRENOM AS Expr3, cde.CLI_VILLE, cde.CLI_CP, soc.SOC_NOM, cde.LIV_NOM + ' ' + cde.LIV_PRENOM AS Expr4,  
                      cde.LIV_VILLE, cde.LIV_CP
FROM         TABPRO pro INNER JOIN
                      TABMARLAN mar ON pro.MAR_ID = mar.MAR_ID INNER JOIN
                      TABLIGCOL ligcol ON pro.SKU = ligcol.SKU INNER JOIN
                      TABCOLIS col ON ligcol.COLIS_ID = col.COLIS_ID INNER JOIN
                      TABVAGUE vague ON col.VG_ID = vague.VG_ID INNER JOIN
                      TABCDE cde ON col.CDE_ID = cde.CDE_ID INNER JOIN
                      TABPROLAN prolan ON pro.SKU = prolan.SKU INNER JOIN
                      TABFAM fam ON pro.FAM_ID = fam.FAM_ID INNER JOIN
                      TABFAMLAN famlan ON fam.FAM_ID = famlan.FAM_ID INNER JOIN
                      TABFAM fam2 ON fam.FAM_CODE = fam2.FAM_CODE INNER JOIN
                      TABFAMLAN famlan2 ON fam2.FAM_ID = famlan2.FAM_ID INNER JOIN
                      TABLIGCDE ligcde ON cde.CDE_ID = ligcde.CDE_ID INNER JOIN
                      TABCLI cli ON cde.CN = cli.CN INNER JOIN
                      TABSOC soc ON cli.SOC_ID = soc.SOC_ID
WHERE     (mar.LAN_ID = 'F' ) AND (cde.DATE_CDE BETWEEN '01/01/2002' AND '12/31/2003' ) AND (prolan.LAN_ID = 'F' ) AND (famlan.LAN_ID = 'F' ) AND  
                      (famlan2.LAN_ID = 'F' ) AND (fam2.FAM_SCODE = '' )
 
Ca marche très bien sous SQL Server. A mon avis ça doit passer aussi bien sous MySQL.


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

  [mySQL] Grouper plusieurs champs en un champs ?

 

Sujets relatifs
[mysql] Joindre des tables [résolu]MySQL et Linux : déplacer le repertoire de stockage des bases ?
Grave probleme de disque dur et MYSQL.[PHP/MySQL] Sélectionner plusieurs valeurs d'un champs d'une table
MySQL et ODBC..... Gros problème !Acces à une bdd Mysql en C++
Envoyer un message a plusieurs clients[MySQL] Problème de conversion INT ------> DATE
Plus de sujets relatifs à : [mySQL] Grouper plusieurs champs en un champs ?


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