Je tente de condenser plusieurs appels SQL en un seul, et je voulais savoir si ce qui suit était possible.Appel SQL pour renvoyer le nombre de jours du mois avec des éléments de plusieurs jours
Voici mes tables.
Organization
id
Event
id,
startDate
endDate
FavoriteOrgs
userId
orgId
Pour chaque jour du mois, je souhaite retourner le nombre d'événements survenus ce jour-là. Pas trop difficile, jusqu'à ce que vous ajoutiez le fait que événements peuvent s'étendre sur 2 ou 3 jours.
Voici ce que j'ai jusqu'à présent, qui montre exactement le nombre d'événements par jour, mais il ne comprend que l'événement en compte pour le jour où il commence.
SELECT DAYOFMONTH(CAST(o.start_date AS DATE)) AS dayNum, COUNT(*) AS count
FROM favoriteOrgs f, event e, organization o
WHERE f.user_id =200372
AND e.profile_id = o.id AND e.profile_id = f.profile_id AND o.id = f.profile_id
AND e.last_date >= '$startDate'
AND e.start_date <= '$lastDate'
GROUP BY e.start_date
Pouvez-vous poster votre schéma? – hafichuk
Je l'ai posté dans la question, mais le voici à nouveau: organization (id); event (id, startDate, endDate); favoriteOrgs (userId, orgId) –
Ce n'est pas un schéma. Je ne sais pas ce que c'est. Dans votre client mysql, exécutez 'organisation DESC', etc. Voir http://dev.mysql.com/doc/refman/5.0/en/describe.html. – hafichuk