Requête avec groupage par date un peut particulier
Posté : 09 oct. 2011, 16:09
Salut,
J'ai une table avec 3 colonnes : id, date_debut, date_fin. Les dates sont stockées au format timestamp unix. Je cherche à récupérer de manière groupé les id dont les horaires sont égaux ou superposés pour une journée précise par ordre de date_debut.
Exemple:
(dans mon exemple je n'utilise pas le format timestamp afin que ce soit compréhensible)

* Il s'agit de réservations.
Je voudrais donc pouvoir récupérer les réservations pour le 8/10/2011 groupé de la manière suivante :

A noter que dans le groupe2 par exemple, l'id 1 et 6 n'ont pas d'horaire superposé entre eux. Ils sont mis en relation par l'id 4. De même pour le groupe3, c'est l'id 9 qui met en relation l'id 8 et 12.
J'ai un niveau vraiment de base en sql qui me permet de récupérer les réservations du jour que je souhaite par ordre de "date_debut"(jusque là ça va lol), mais pour ce qui est du groupage, en particulier grouper les heures qui se superposent, je suis complètement largué. Si quelqu'un pouvait me filer un coup de main ou me mettre sur une piste ça me dépannerait bien. Est-ce qu'au moins c'est possible de faire ça avec sql ?
J'avoue qu'avant ça j'ai tenté de récupérer les réservations du jour avec mysql et puis de faire le groupage en php mais je me suis complètement emmêlé les pinceaux avec mes boucles et mes array dans tous les sens. C'est pourquoi je me suis dit qu'il serait peut être plus simple de tout récupérer directement comme il faut avec une requête mysql, mais je bloque aussi.
J'espère que mon post est compréhensible.
Merci d'avance
a+
J'ai une table avec 3 colonnes : id, date_debut, date_fin. Les dates sont stockées au format timestamp unix. Je cherche à récupérer de manière groupé les id dont les horaires sont égaux ou superposés pour une journée précise par ordre de date_debut.
Exemple:
(dans mon exemple je n'utilise pas le format timestamp afin que ce soit compréhensible)

* Il s'agit de réservations.
Je voudrais donc pouvoir récupérer les réservations pour le 8/10/2011 groupé de la manière suivante :

A noter que dans le groupe2 par exemple, l'id 1 et 6 n'ont pas d'horaire superposé entre eux. Ils sont mis en relation par l'id 4. De même pour le groupe3, c'est l'id 9 qui met en relation l'id 8 et 12.
J'ai un niveau vraiment de base en sql qui me permet de récupérer les réservations du jour que je souhaite par ordre de "date_debut"(jusque là ça va lol), mais pour ce qui est du groupage, en particulier grouper les heures qui se superposent, je suis complètement largué. Si quelqu'un pouvait me filer un coup de main ou me mettre sur une piste ça me dépannerait bien. Est-ce qu'au moins c'est possible de faire ça avec sql ?
J'avoue qu'avant ça j'ai tenté de récupérer les réservations du jour avec mysql et puis de faire le groupage en php mais je me suis complètement emmêlé les pinceaux avec mes boucles et mes array dans tous les sens. C'est pourquoi je me suis dit qu'il serait peut être plus simple de tout récupérer directement comme il faut avec une requête mysql, mais je bloque aussi.
J'espère que mon post est compréhensible.
Merci d'avance
a+