[thelist] SQL multiple Joins?

Struan Donald struan at exo.org.uk
Thu Nov 15 09:02:35 CST 2007


* at 15/11 14:25 +0000 Tris said:
> Is it possible to have multiple joins..

Yes 

<snip>

> FROM `users`
> 
> RIGHT JOIN `activities` as `activitiesSep` on
> 	activitiesSep.UserID = users.ID
> WHERE activitiesSep.`Timestamp` >= '1188604800' AND
> activitiesSep.`Timestamp` <= '1191196799'
> 
> RIGHT JOIN `activities` as `activitiesOct` on
> 	activitiesOct.UserID = users.ID
> WHERE activitiesOct.`Timestamp` >= '1191196800' AND
> activitiesOct.`Timestamp` <= '1193875199'
> 
> GROUP BY users.ID

Unless you're database is using a particularly mutant form of SQL you
probably want to do this instead:

> RIGHT JOIN `activities` as `activitiesSep` on
> 	activitiesSep.UserID = users.ID
> RIGHT JOIN `activities` as `activitiesOct` on
> 	activitiesOct.UserID = users.ID
> WHERE activitiesOct.`Timestamp` >= '1191196800' AND
> activitiesOct.`Timestamp` <= '1193875199' AND
> activitiesSep.`Timestamp` >= '1188604800' AND
> activitiesSep.`Timestamp` <= '1191196799'

Struan



More information about the thelist mailing list