J'ai une requête (pour mes capacités) assez complexe que j'essaie d'améliorer. J'utilise la même requête plusieurs fois, en changeant seulement certains paramètres, donc j'espère ne pas avoir besoin d'une ré-écriture complète.groupe avec limite et j'espère pas de jeux vides
Je cherche un tas d'événements par date et lieu. Je les mets dans une table html où
Date 1 Date2 Date3 event1/1 event1/2 event1/3 event1/2 event2/2 event1/3 event1/3 event2/3 event3/3
Espérons que cela vous donne une idée de la sortie et du regroupement.
En ce moment je commets 3 requêtes, une pour chaque jour, et je passe dans le champ date. Ce que j'espère être en mesure de faire est de deux choses 1) fournir une période de sorte que je fais une seule requête 2) si un groupe de résultats est vide (donc rien sur date3), la réponse retournera date4
Voici ce que j'ai pour l'instant, mais il n'atteint pas l'objectif 2 (groupes vides), et il ne semble pas retourner le bon nombre dans la plage de dates, puisque je limite le nombre de résultats (même si sans la limite, je ne suis pas d'obtenir le résultat
J'ai simplifié la requête un peu afin qu'il soit plus facile à comprendre, espérons, mais la structure est exactement la même
SELECT event.stuff, user.stuff, eventdate.stuffshows , GROUP_CONCAT(user.groupstuff) AS myStuff FROM events JOIN users ON events.id = users.bid WHERE location= location AND event.date BETWEEN '2009-08-14' AND '2009-08-17' GROUP BY event.date ORDER BY event.date, user.id DESC LIMIT 0 , 5 ) mystuff ON event.bid = similar.id AND event.date=similar.date
Donc ce que je suis à la recherche est essentiellement ce genre de out (similaire à ce que j'ai ci-dessus)
date1/event1 date1/event2 date1/event3 date1/event4 date1/event5 date2 - empty - nothing returned, go to date3 date3/event1 date3 /event2 date3/event3 date4/event1 date4/event2 date5 - empty - nothing returned, go to date6 date6/event1
J'espère que cela est clair, et qu'il est possible.
Désolé, je ne peux pas comprendre ce que vous devez obtenir où vous voulez. J'ai l'impression que votre table "événements" n'a pas trois colonnes, "Date 1", "Date 2" et "Date 3". Peut-être donner un échantillon de la table que vous avez qui devrait produire la sortie que vous voulez. Il n'y a pas de "date5" ou "event4" dans la table pour fournir ces valeurs dans la sortie. – Degan
Désolé degan, la 'table' est une table de sortie (html), pas une table de base de données. La requête est exécutée sur 3 tables, événements, utilisateurs et similaires. – pedalpete
Avez-vous essayé la proposition 'HAVING'? – searlea