Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/11/2010, 15h20   #1
Futur Membre du Club
 
Prisss
Étudiant
Inscription : juin 2010
Messages : 86
Détails du profil
Informations personnelles :
Nom : Prisss
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 86
Points : 16
Points : 16
Par défaut afficher une seule fois un titre pour différents clients qui ont le même titre

Bonjour,

je rencontre un problème avec ma requête, celle-ci est correcte mais ceci n'est pas mon problème.

en faite, j'ai plusieurs titres, "mon_titre_1", "mon_titre_2" etc
j'ai différents clients "mon_client_1", "mon_client_2" etc
donc les 5 premiers clients appartiennent au titre 1, les 5 suivant au titre 2 etc.

ma requête m'affiche :
mon_titre_1
mon_client_1
mon_titre_1
mon_client_2
mon_titre_1
mon_client_3
mon_titre_2
mon_client_4
mon_titre_2
mon_client_5
et ainsi de suite.

j'aimerai que mon_titre_1 ne s'affiche qu'une et une seule fois pour les clients dépendant de ce titre.
enfait que cela me donne :
mon_titre_1
mon_client_1
mon_client_2
mon_client_3
mon_titre_2
mon_client_4
mon_client_5
etc

j'ai fais comme requête :
Code :
1
2
3
SELECT DISTINCT(LibelleCategorie), NomEntreprise, TexteClient 
FROM client, categorie 
WHERE client.IdCategorie=categorie.IdCategorie
donc que dois je faire pour n'afficher qu'une fois le titre pour différents clients ?

je vous remercie =)
Prisss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 15h29   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 450
Points : 6 450
Bonjour,

Ce que vous cherchez à faire, c'est de la cosmétique.
Un SGBD et le SQL ne sont pas faits pour ça, et c'est au langage qui interroge la base en SQL (PHP par exemple).

ced
__________________
Rédacteur / Modérateur SGBD
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 15h34   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 957
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 957
Points : 18 165
Points : 18 165
Envoyer un message via MSN à CinePhil
Tu parles de 'titre' dans ton message mais il n'y en a pas dans ta requête !
En conséquence, ta requête ne peut pas afficher ce que tu dis qu'elle affiche !
Elle doit plutôt afficher un truc du style :
LibelleCategorie, NomEntreprise, TexteClient
Libelle_1, Entreprise_1, Texte_1
Libelle_1, Entreprise_2, Texte_2
Libelle_2, Entreprise_5, Texte_5

Tu utilises pour les jointures une syntaxe obsolète depuis 18 ans !

Inutile de mettre des parenthèses autour de la première colonne, DISTINCT s'applique à toute la ligne SELECT donc sur le triplet {LibelleCategorie, NomEntreprise, TexteClient} !

Ce que tu cherches à obtenir est de la cosmétique et n'est pas le boulot du SGBD mais celui du programme qui interroge la BDD !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 15h38   #4
Futur Membre du Club
 
Prisss
Étudiant
Inscription : juin 2010
Messages : 86
Détails du profil
Informations personnelles :
Nom : Prisss
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 86
Points : 16
Points : 16
libellé pour moi reviens à titre pour ca que j'ai mis titre car le libellé je l'utilise comme titre.

la jointure que j'ai fais c'est ce que j'ai appris en cours donc j'applique ce que j'ai appris !!

j'ai oublié de préciser que c'était pour un site web que je fais ca et que par conséquent le site je le fais en php
Prisss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 15h46   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 957
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 957
Points : 18 165
Points : 18 165
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par Prisss Voir le message
la jointure que j'ai fais c'est ce que j'ai appris en cours donc j'applique ce que j'ai appris !!
Ben tu diras à ton prof qu'il retarde de 18 ans !
Mais ça ne me surprends pas, je sais que cette mauvaise syntaxe est encore enseignée hélas !

Citation:
j'ai oublié de préciser que c'était pour un site web que je fais ca et que par conséquent le site je le fais en php
C'est donc au programme PHP de s'occuper de la mise en forme. Pas à MySQL.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 15h49   #6
Futur Membre du Club
 
Prisss
Étudiant
Inscription : juin 2010
Messages : 86
Détails du profil
Informations personnelles :
Nom : Prisss
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 86
Points : 16
Points : 16
et c'est quoi alors la bonne syntaxe ??

si j'ai posté ici c'est que je penser que ca "dépendait" de MySQL et que ca venait de ma requête.

je vais de ce pas poster dans php alors

merci de votre aide =)
Prisss est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h53.


 
 
 
 
Partenaires

Hébergement Web