Bonjour à tous,

Je suis un des membre d'une chorale. Je suis entrain de développer une application de gestions des membres, des partitions, des auteurs, des compositeurs.

Dans un champs de la table membre, dans le type SET toutes les fonctions suivante y figure: ('Tous','Aucune','Archiviste','Auteur','Banneret','Caissier','Caviste','Comité','Commission musicale','Compositeur','Directeur','Harmonisation','Président','Secrétaire','Sous-directeur','Vice-président');

J'ai besoin d'extraire seul les fonctions des membres. Pour faire ceci, voici la requête et les résultats générer dans le tableau en-dessous.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
SELECT fonctions
FROM edl_membres
WHERE membreEcl = 'oui' AND fonctions IS NOT NULL 
ORDER BY fonctions



Aucune
Aucune
Aucune
Aucune
Banneret,Comité
Caissier,Comité
Commission musicale
Commission musicale
Commission musicale
Commission musicale
Commission musicale
Archiviste,Comité,Commission musicale
Commission musicale,Directeur
Comité,Secrétaire
Comité,Commission musicale,Président,Sous-directeur
Caviste,Comité,Vice-président



Comment faire pour qu'une requête me renvoie la liste des fonctions des membres sans les doublons, comme ceci:

Archiviste, Aucune, Banneret, Caissier, Caviste, Comité, Commission musicale, Directeur, Président, Secrétaire, Sous-directeur, Vice-président

Faut-il une seconde requête temporaire?



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
CREATE TABLE `edl_membres` (
	`IDMembre` INT(2) UNSIGNED NOT NULL AUTO_INCREMENT,
	`civilite` ENUM('Madame','Monsieur','Indéfini','Inconnu') NULL DEFAULT NULL,
	`prenom` VARCHAR(32) NULL DEFAULT NULL,
	`nom` VARCHAR(32) NULL DEFAULT NULL,
	`membreEcl` ENUM('oui','non','essai') NULL DEFAULT 'essai',
	`membreStatus` ENUM('actif','passif') NULL DEFAULT 'actif',
	`distributionPartition` ENUM('oui','non','parfois') NULL DEFAULT 'non',
	`registre` ENUM('directrice','directeur','baryton','basse','ténor 1','ténor 2','membre soutien','Membre honoraire') NULL DEFAULT NULL,
	`fonctions` SET('Tous','Aucune','Archiviste','Auteur','Banneret','Caissier','Caviste','Comité','Commission musicale','Compositeur','Directeur','Harmonisation','Président','Secrétaire','Sous-directeur','Vice-président') NULL DEFAULT NULL,
	`adresse` VARCHAR(24) NULL DEFAULT NULL,
	`lieu` VARCHAR(18) NULL DEFAULT NULL,
	`telephone` VARCHAR(14) NULL DEFAULT NULL,
	`smartphone` VARCHAR(14) NULL DEFAULT NULL,
	`courriel` VARCHAR(32) NULL DEFAULT NULL,
	`anneeAdhesion` VARCHAR(4) NULL DEFAULT NULL,
	`dateAdhesion` DATE NULL DEFAULT NULL,
	`dateSortie` DATE NULL DEFAULT NULL,
	`naissance` DATE NULL DEFAULT NULL,
	UNIQUE INDEX `no_2` (`IDMembre`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=52
;
 
 
 
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Aucune');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Aucune');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Aucune');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Aucune');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Banneret,Comité');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Caissier,Comité');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Commission musicale');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Commission musicale');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Commission musicale');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Commission musicale');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Commission musicale');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Archiviste,Comité,Commission musicale');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Commission musicale,Directeur');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Comité,Secrétaire');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Comité,Commission musicale,Président,Sous-directeur');
INSERT INTO `edl_membres` (`fonctions`) VALUES ('Caviste,Comité,Vice-président');
D'avance merci de me dire si c'est possible et comment m'y prendre.

Cordiales salutations

Stéphane