begin process at 2012 05 27 00:27:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

MySQL

 > 

Débutant(s)

 > 

Problème de requête mySQL Afficher plusieurs info d'un même champs sur une seule ligne


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de requête mySQL Afficher plusieurs info d'un même champs sur une seule ligne

vendredi 10 décembre 2010 à 15:24:23 | Problème de requête mySQL Afficher plusieurs info d'un même champs sur une seule ligne

snif84

Bonjour à tous,

J'ai un problème de requête sur une seul table.

user_id field_id textarea
9532 16 Torres
9532 18 Samanta
9533 18 Audrey
9533 16 WARINA
9533 21 1 allée des prunes
9533 22
9534 18 Tatiana
9534 16 CHACHKINE


Donc voici ma table, je souhaiterai afficher sur une seule ligne tous les infos du champs textarea.
ex:"Audrey WARINA 1 allée des prunes",
grâce aux champs user_id et field_id.

Voili, je galère bien. Merci


vendredi 10 décembre 2010 à 17:53:44 | Re : Problème de requête mySQL Afficher plusieurs info d'un même champs sur une seule ligne

aieeeuuuuu

Bonjour

Il s'agit la de "cosmetique" et un SGBDR n'est pas fait pour ca

La meilleure solution serait de traiter vos resultats dans votre programme, avant l'affichage

il y a cependant des solution pour ca faire en SQL, mais si elles ne sont pas très jolies

avez-vous un nombre fini de "field_id" ?

Donnez un peu plus de precisions (field_id se rapport-t-il a une autre table ?)
et expliquez pourquoi vous voulez faire ca, afin qu'on trouve la meilleurs solution
samedi 11 décembre 2010 à 02:50:49 | Re : Problème de requête mySQL Afficher plusieurs info d'un même champs sur une seule ligne

Malamute7

Bonsoir,

comme le dit aieeeuuuuu
la structure de votre table devrais plutôt être celle ci

CREATE TABLE Information
(id_information integer PRIMARY KEY, il s'agit de la clef primaire
nom char(25),
prenom char(50),
adresse char(25));

SELECT * on recupere tous les champs de la table informations
FROM Information

et tu auras tes resultats sous cette forme,

1 Torres Samanta
2 Audrey WARINA 1 allée des prunes
3 Tatiana CHACHKINE

Cordialement
samedi 11 décembre 2010 à 17:30:52 | Re : Problème de requête mySQL Afficher plusieurs info d'un même champs sur une seule ligne

Robert33

Membre Club
Bonjour

Je ne connais pas MySql, mais en MsSql on peut utiliser un "Cursor" et je pense que c'est du standard.

ex:

Code sql :
DECLARE @user int , @field int , @text varchar(50)
DECLARE @currentuser int
DECLARE @currentdata varchar(255)
DECLARE UserCursor CURSOR FOR 
    SELECT user_id, field_id, textarea FROM UserInfo ORDER BY user_id, field_id

OPEN UserCursor

FETCH NEXT FROM UserCursor INTO @user, @field, @text
set @currentuser=@user
set  @currentdata = @text

WHILE (@@FETCH_STATUS = 0)
begin
   FETCH NEXT FROM UserCursor INTO @user, @field, @text
   if @currentuser=@user 
     set @currentdata = @currentdata +' '+  @text 
   else
     begin
       print @currentdata
       set  @currentdata = @text
       set @currentuser = @user
     end
END
print @currentdata

CLOSE UserCursor
DEALLOCATE UserCursor



Bob.
C# is amazing, enjoy it!
mardi 14 décembre 2010 à 16:43:05 | Re : Problème de requête mySQL Afficher plusieurs info d'un même champs sur une seule ligne

snif84

Bonjour à tous,

Merci pour vos réponses,

@aieeeuuuuu: field se rapporte à d'autre table mais rien d'important, c'est une table qui dit que le noms = à l'id 18 par exemple; le 21 à l'adresse etc...
Je veux simplement afficher sur une même ligne ex:"Audrey WARINA 1 allée des prunes".
pour mettre à jour cette table :
transaction_id|sale_id|date_achat|type_reglement|description_produit|prix|email|prenom|nom|adresse1|adresse2|zip|ville|pays

Tous mes champs sont déjà renseignés sauf prenom, nom, adresse1, adresse2 qui correspond au field_id 18, 16, 21, 22. Et les données sur textarea.


@Malamute7: Je sais que la structure de la table est pourri, mais je ne l'ai pas choisi, c'est une table généré par phpfox.


@Robert33: Ta réponse correspond à mon besoin avec le coup du curseur, mais bon je suis un débutant et je suis pas arrivé à l'adapter. Je ne comprends pas si j'imbrique plusieurs requête du type :
SELECT textarea FROM phpfox_custom_field2text WHERE custom_field_id = 16
Il n'y a pas moyen de les afficher cote à cote.

En tout cas merci pour votre aide
mardi 14 décembre 2010 à 17:11:01 | Re : Problème de requête mySQL Afficher plusieurs info d'un même champs sur une seule ligne

aieeeuuuuu

Bonjour

Si vous ne pouvez pas modifier la structure de la base, alors vous pouvez faire comme ceci, c'est pas très joli et fastidieux a mettre en place, mais je pense que vous n'aurez pas trop le choix que de passer par une requete "lourde" a ecrire :

joindre la table sur elle meme autant de fois que vous avez de colonne a concatener, du style

Code sql :
SELECT COALESCE(T_Nom.textArea, 'N/A') + ' ' 
    + COALESCE(T_prenom.textArea, 'N/A') + ' '
    + COALESCE(T_adresse.textArea, 'N/A')
FROM
    MaTable AS T_Nom
LEFT OUTER JOIN MaTable AS T_Prenom 
    ON T_Nom.user_id = T_Prenom.user_id 
    AND T_Prenom.field_id = 18
LEFT OUTER JOIN MaTable AS T_Adresse
    ON T_Nom.user_id = T_Adresse.user_id 
    AND T_Adresse.field_id = 21
WHERE T_Nom.field_ID = 16




Cette discussion est classée dans : problème, afficher, champs, requête, id


Répondre à ce message

Sujets en rapport avec ce message

Problème Requête SQL INSERT INTO sous access [ par bonnaud ] Bonjour,J'ai un problème avec une requête INSERT INTO.En fait je veux insérer dans une BDD des champs d'une autre table. Le problème qu'en j'insère ce Problème de requête... [ par emmanuel9 ] Bonjour à tous, J'ai un problème avec les requêtes Sql et je cale : J'ai une table Personne avecid | exporte |1   12   1et une table Validation_Perso aide pour une requête [ par Shadow_Membre ] slt tlm,Donc voila, j'ai besoin d'aide pour une requête mysql/php. Le problème c'est que je suis un petit peu rouillé.   Soit deux table « table1 » et Problème de choix des champs pour requête avec critère "WHERE" [ par drakkard ] Bonjour,j'ai un petit soucis de choix de champs pour ma base SQL EXPRESS,je souhaite mettre en place une gestion de login/pwd, j'ai choisi des champs problème de requête [ par emmanuel9 ] Bonjour à tous, J'ai un problème de requête : J'ai la table CHAINE : validateur_id | ordre | groupe_id |  autorise1                   &n Problème de requête SQL sous Access [ par Dark Revan ] Voilà, je dois trouver les équipes qui ont terminé des match en fusillade depuis une certaine date et je dois donner les équipes et le nombre de match Nombre de requête imbriquer max??? [ par Polack77 ] Bonjour , Je développe acculement une appli (en VB) qui gère une base de données. Mon problème est que je dois être compatible avec un maximum de SGBD Problème de copnversion Access -> SQL Server 2000 champs Date [ par NHenry ] BonjourJ'ai un problème : Lorsque j'utilise l'assistant d'importation/exportation de données entre Access et SQL Server 2000, il me convertit les cha Requête sur une arborescence [ par cousinlol ] Bonjour, J'ai une table composée comme suit :Code :<pre class="alt2" style="border: 1px inset ; marg Problème avec DateDiff [ par Chatbour ] Salut à tous,j'ai la requête suivante :SELECT DateDiff("j", #02-06-2007#, #06-04-2004#)FROM matable;l'erreur : "Appel de procédure incorrect"j'ai test


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,387 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales