Bonsoir

Pour du décisionnel dans de l’hôtellerie, j'ai une vue au format suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
CREATE TABLE `v_statut_passager` (
	`Id` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
	`Passager` MEDIUMINT(8) UNSIGNED NULL DEFAULT '0',
	`TypeLogement` TINYINT(3) UNSIGNED NULL DEFAULT NULL,
	`Residence` TINYINT(3) UNSIGNED NULL DEFAULT NULL,
	`Source` TINYINT(3) UNSIGNED NULL DEFAULT NULL,
	`Statut` TINYINT(3) UNSIGNED NULL DEFAULT NULL
	[.....]
) ENGINE=MyISAM;
Celle ci affiche le statut (Statut: réservation, occupation, abandon...) d'une personne (Passager) dans un logement (TypeLogement: T1, T2, T3...) dans une résidence (Residence). L'information peut provenir de 2 applications métier différentes (Source: 'AGLAE' ou 'Heberg'). Bien évidement, chaque source peut fournir un statut différent. Le but est de retourner dans une requête un enregistrement par ligne qui résume les 2 statuts possibles.

Donc lorsque je fais une requête du genre :
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
select passager.ine, passager.nom, passager.prenom, logement.libelle, 
case vue.source when "1" then statut.Libelle end as aglae, 
case vue.source when "2" then statut.Libelle end as heberg
 
from v_statut_passager as vue
 
join t_passager as passager         on passager.Id = vue.Passager
join t_typelogement as logement     on logement.id = vue.TypeLogement
join t_statut as statut             on statut.id = vue.Statut
join t_source as source             on source.id = vue.source
 
 
where vue.Residence = 43
 
#group by passager.Id
 
order by passager.Nom, passager.Prenom
Je me retrouve avec deux tuples qui représentent la même personne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
nom	prenom	libelle	aglae		heberg
DUPONT	Bob	T1	Occupation	NULL
DUPONT	Bob	T1	NULL		Réservation
L'idée serait de récupérer un truc comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
nom	prenom	libelle	aglae		heberg
DUPONT	Bob	T1	Occupation	Réservation