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 26/09/2011, 08h50   #1
Membre du Club
 
Inscription : mai 2002
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 190
Points : 54
Points : 54
Par défaut Regroupement et pas regroupement

Bonjour,

J'ai besoin d'effectuer une requête un peu spéciale, si tant est qu'on puisse le faire en une seule fois.

J'ai une table qui contient un planning de cours (identifiant, date, heure de début, heure de fin, présence des élèves)
J'ai un prof qui peut venir de loin mais peut donner cours plusieurs fois dans la même journée, on ne va pas lui payer un déplacement pour chaque cours, mais une fois pour la journée.

Je dois engager ces déplacements auprès de la comptabilité avant qu'ils aient lieu : J'ai besoin de la date, du début du premier cours, de la fin du dernier cours, jusque là facile, mais aussi de la liste des identifiants des cours concernés par ce déplacement (et là c'est moins fastoche) car s'il y a changement sur le planning je ne paye plus les dates que j'ai engagées mais les nouvelles !
Donc au moment du paiement il faudra que je vérifie sir mes cours ont toujours les mêmes dates (d'où le besoin des identifiants).

J'ai tenté ceci mais j'obtiens un listeId au format BLOG...
Code :
1
2
3
SELECT idMatiere, D.dateCours, MIN(DebutCours) AS debutCours, MAX(D.finCours) AS finCours, (SELECT GROUP_CONCAT(idCours SEPARATOR ", ") FROM `sg_cours` WHERE dateCours=D.dateCours) AS listeId
FROM `sg_cours`AS D
GROUP BY dateCours, idMatiere
LadyArwen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 09h49   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
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 : 11 029
Points : 18 324
Points : 18 324
Envoyer un message via MSN à CinePhil
Si tu n'as besoin que d'une liste pour ton traitement de vérification, pas besoin du SELECT dans le SELECT, mets directement GROUP_CONCAT puisque le groupement est le même :
Code :
1
2
3
4
5
6
SELECT idMatiere, dateCours, 
    MIN(DebutCours) AS debutCours, 
    MAX(D.finCours) AS finCours,
    GROUP_CONCAT(idCours SEPARATOR ", ")
FROM sg_cours
GROUP BY dateCours, idMatiere
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 11h34   #3
Membre du Club
 
Inscription : mai 2002
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 190
Points : 54
Points : 54
Merci pour l'info
Je viens de voir un petit bouton "options" avec "montrer le contenu du blog" à cocher

mouarf !
LadyArwen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 11h38   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
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 : 11 029
Points : 18 324
Points : 18 324
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par LadyArwen Voir le message
Je viens de voir un petit bouton "options" avec "montrer le contenu du blog" à cocher
De quoi parles-tu ?
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 12h19   #5
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 530
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 530
Points : 3 523
Points : 3 523
Saluton,
Il parle de phpMyAdmin dans lequel, par défaut, le contenu des colonnes résultant de GROUP_CONCAT ne s'affiche pas en clair.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est actuellement 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 18h03.


 
 
 
 
Partenaires

Hébergement Web