Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum 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 25/08/2011, 13h33   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 52
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 52
Points : 11
Points : 11
Par défaut [MySQL] rqt SELECT UNION + suppression conditionnelle de doublons

Bonjour à tous,

Voilà, j'ai 3 tables de même structure tbl_AgendaConcerts, tblAgendaTheatre et tblAgendaDanse (id_date, date, intitule_evenement, etc...)

(pour info, c'est sciemment que j'ai fait 3 tables plutôt qu'une seule qui regrouperait les 3 secteurs... Mais bon, là n'est pas le pb)

Il arrive forcément qu'il y ait la même date dans les 3 tables (ou même dans 2 tables seulement).

J'aimerais faire une requête SELECT UNION qui regroupe les enregistrements des 3 tables, mais aussi, en cas de doublon sur une date, qui ne retienne que l'évènement de la table tbl_AgendaConcerts en ignorant les évènements de même date des 2 autres tables.
(Sur le principe, j'affiche un calendrier qui ne doit comporter qu'un seul évènement par date, ET qui doit donner la priorité aux concerts.)

Merci pour votre aide !
@+
Marmotton76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 14h18   #2
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 167
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 22
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 167
Points : 2 304
Points : 2 304
Je te propose ceci:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
SELECT id_table, date, intitule_evenement
FROM
(
SELECT id_table, date, intitule_evenement, 0 as ordre
FROM tbl_AgendaConcerts
UNION
SELECT id_table, date, intitule_evenement, 1 as ordre
FROM tblAgendaTheatre
UNION 
SELECT id_table, date, intitule_evenement, 2 as ordre
FROM tblAgendaDanse
ORDER BY ordre ASC
) TBL
GROUP BY date
__________________
Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com
N'oubliez pas de voter pour les messages dont la réponse est pertinente (en bas à droite du cadrant)
Vous voulez afficher du code :
Votre problème est résolu :
Pas de question technique par MP !
David55
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 14h55   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 52
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 52
Points : 11
Points : 11
Ca marche, MILLE MERCIS David55 !!!
T'es un chef

@+


Citation:
Envoyé par David55 Voir le message
Je te propose ceci:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
SELECT id_table, date, intitule_evenement
FROM
(
SELECT id_table, date, intitule_evenement, 0 as ordre
FROM tbl_AgendaConcerts
UNION
SELECT id_table, date, intitule_evenement, 1 as ordre
FROM tblAgendaTheatre
UNION 
SELECT id_table, date, intitule_evenement, 2 as ordre
FROM tblAgendaDanse
ORDER BY ordre ASC
) TBL
GROUP BY date
Marmotton76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 15h25   #4
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 167
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 22
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 167
Points : 2 304
Points : 2 304
De rien
__________________
Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com
N'oubliez pas de voter pour les messages dont la réponse est pertinente (en bas à droite du cadrant)
Vous voulez afficher du code :
Votre problème est résolu :
Pas de question technique par MP !
David55
David55 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 02h50.


 
 
 
 
Partenaires

Hébergement Web