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 13/04/2011, 11h49   #1
Membre à l'essai
 
Inscription : septembre 2008
Messages : 140
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 140
Points : 23
Points : 23
Par défaut réunir deux requêtes

Bonjour !
J'ai une requête comme ça :
Code :
1
2
3
4
5
SELECT txt_manif, min(titre_manif) titre_manif
FROM manif
WHERE comm_manif LIKE 'Camaret' AND titre_manif LIKE 'cin%' 
GROUP BY txt_manif 
ORDER BY titre_manif ASC
et je voudrais que les 7 premiers caractères de titre_manif ne s'affichent pas.
Je l'ai fait sur une autre page de cette façon-là :
Code :
1
2
3
4
SELECT jour, RIGHT (titre_manif, LENGTH(titre_manif) -7) AS titre_manif
 FROM manif 
WHERE titre_manif LIKE 'cin%' 
ORDER BY titre_manif ASC
... et ça fonctionne très bien. Mais je ne sais pas comment réunir les deux... vous pourriez m'aider svp ?
Merci !
evevev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 12h14   #2
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
Peux-être quelque chose comme cela :
Code :
1
2
3
4
5
6
7
8
9
SELECT txt_manif, min(titre_manif) titre_manif
FROM manif
   INNER JOIN (SELECT txt_manif, jour, RIGHT (titre_manif, LENGTH(titre_manif) -7) AS titre_manif
                FROM manif 
                WHERE titre_manif LIKE 'cin%') LST
      ON manif.txt_manif = LST.txt_manif
WHERE comm_manif LIKE 'Camaret' AND titre_manif LIKE 'cin%' 
GROUP BY txt_manif 
ORDER BY titre_manif ASC
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 12h40   #3
Membre à l'essai
 
Inscription : septembre 2008
Messages : 140
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 140
Points : 23
Points : 23
Merci de ta réponse !

J'ai eu ce message : Column 'txt_manif' in field list is ambiguous
J'ai donc rajouté le nom de la table devant, et puis j'ai eu celui-là : Column 'titre_manif' in field list is ambiguous, et ce coup-ci, je n'arrive pas à faire ce qu'il faut
J'en suis donc là :
Code :
1
2
3
4
5
6
7
8
9
SELECT manif.txt_manif, min(titre_manif) titre_manif
FROM manif
   INNER JOIN (SELECT manif.txt_manif, jour, RIGHT (titre_manif, LENGTH(titre_manif) -7) AS titre_manif
                FROM manif 
                WHERE titre_manif LIKE 'cin%') LST
      ON manif.txt_manif = LST.txt_manif
WHERE comm_manif LIKE 'Camaret' AND titre_manif LIKE 'cin%' 
GROUP BY manif.txt_manif 
ORDER BY titre_manif ASC
evevev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 12h58   #4
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
Code :
1
2
3
4
5
6
7
8
9
SELECT manif.txt_manif, min(manif.titre_manif) titre_manif
FROM manif
   INNER JOIN (SELECT manif.txt_manif, jour, RIGHT (titre_manif, LENGTH(titre_manif) -7) AS titre_manif
                FROM manif 
                WHERE titre_manif LIKE 'cin%') LST
      ON manif.txt_manif = LST.txt_manif
WHERE  manif.comm_manif LIKE 'Camaret' AND  manif.titre_manif LIKE 'cin%' 
GROUP BY manif.txt_manif 
ORDER BY  manif.titre_manif ASC
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 13h06   #5
Membre à l'essai
 
Inscription : septembre 2008
Messages : 140
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 140
Points : 23
Points : 23
Plus de message d'erreur! Mais l'affichage est "normal" : les 7 premiers caractères sont toujours visibles...
evevev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 04h35   #6
Membre Expert
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 843
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 843
Points : 1 318
Points : 1 318
Salut, et ça tout simplement:

Code sql :
1
2
3
4
5
SELECT txt_manif, RIGHT (titre,LENGTH(titre) -7), jour, min(titre_manif) AS titre
FROM manif m
WHERE comm_manif LIKE 'camaret' AND titre LIKE 'cin%' 
GROUP BY txt_manif 
ORDER BY titre_manif ASC

...et tu lis seulement les colonnes dont tu as besoin (les 3 premières)

On ne nomme jamais avec un as en utilisant un nom de champ de table, les humains et mysql n'aiment pas
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h24.


 
 
 
 
Partenaires

Hébergement Web