rarebit Posted October 21, 2008 Share Posted October 21, 2008 Hi, Heres my current query: $s = "SELECT title, ".$tnT.".id, blurb, COUNT(topic_id) as num FROM ".$tnT." LEFT JOIN ".$tnW." ON ".$tnW.".topic_id = ".$tnT.".id GROUP BY ".$tnT.".id ORDER BY weight"; However I only want to count the 'topic_id' where it's 'last' property is above a certain time, e.g. 'WHERE last > 0', i've tried a few ways but all to no avail... $s = "SELECT title, ".$tnT.".id, blurb, COUNT(topic_id WHERE last > 0) as num FROM ".$tnT." LEFT JOIN ".$tnW." ON ".$tnW.".topic_id = ".$tnT.".id GROUP BY ".$tnT.".id ORDER BY weight"; and... $s = "SELECT title, ".$tnT.".id, blurb, COUNT(topic_id) as num FROM ".$tnT." { LEFT JOIN ".$tnW." ON ".$tnW.".topic_id = ".$tnT.".id WHERE ".$tnW.".last >= 0 } GROUP BY ".$tnT.".id ORDER BY weight"; and... $s = "SELECT title, ".$tnT.".id, blurb, COUNT(topic_id) as num FROM ".$tnT." LEFT JOIN ".$tnW." ON ".$tnW.".topic_id = ".$tnT.".id WHERE ".$tnW.".last >= ".($time-30)." GROUP BY ".$tnT.".id ORDER BY weight"; (this last one sort of does it, but doesn't return one's without a valid 'last', therefore I changed: WHERE ".$tnW.".last >= ".($time-30)." || ".$tnT.".id > 0 but that invalidates the 'last' bit... Any suggestions on how to do a selective join please? Quote Link to comment https://forums.phpfreaks.com/topic/129414-solved-join-where/ Share on other sites More sharing options...
Barand Posted October 21, 2008 Share Posted October 21, 2008 try $s = "SELECT title, $tnT.id, blurb, COUNT(topic_id) as num FROM $tnT LEFT JOIN $tnW ON $tnW.topic_id = $tnT.id AND $tnW.last >= ($time-30) GROUP BY $tnT.id ORDER BY weight"; Quote Link to comment https://forums.phpfreaks.com/topic/129414-solved-join-where/#findComment-671124 Share on other sites More sharing options...
rarebit Posted October 21, 2008 Author Share Posted October 21, 2008 oooh, I like it... A great big cheary thanks for Barand! Quote Link to comment https://forums.phpfreaks.com/topic/129414-solved-join-where/#findComment-671128 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.