Re: Help wtih a query?
| From: | Philip Thompson | Date: | Wed, 31 Jan 2007 00:53:32 +0000 |
| Subject: | Re: Help wtih a query? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-248072@lists.php.net to get a copy of this message | ||
On Jan 30, 2007, at 4:33 PM, Skip Evans wrote:
Hey all, I have the following query: $sql="SELECT count(*) AS count,votes.storyID,stories.title,stories.storyID as sID,stories.approved, stories.story,stories.userID, fname, lnameThis may be closer to what you're wanting... <query> SELECT count(stories.*) AS count, votes.storyID, stories.title, stories.storyID AS sID, stories.approved, stories.story, stories.userID, fname, lname FROM bsp_story_votes AS votes LEFT JOIN (bsp_story_stories AS stories ON votes.storyID = stories.storyID) INNER JOIN users AS usr ON stories.userID = usr.id WHERE stories.contestID=$contestID GROUP BY votes.storyID ORDER BY stories.approved, count DESC, sID ASC LIMIT $b_recno, $recs </query> If that doesn't work, you may try changing the LEFT to RIGHT. I probably screwed it up, but that's closer to how JOINs work. I'm not sure if the GROUP BY will work with this query either??? I thought you had to use HAVING with a GROUP BY? Refer to the M*SQL manual. Now that think about it... I don't know if you can have a 'count()' in with that query. If it doesn't work, you may try pulling count() out and just using m*sql_num_rows() afterwards to get the count. Hope that helps! ~PhilipFROMHow would this need to be changed so that it would return rows for the members of the bsp_story_stories table that do not have records in the bsp_story_votes table? Is that what the left/right joins do??? Thanks! Skipbsp_story_votesas votes, bsp_story_stories AS stories, users AS usr WHERE votes.storyID=stories.storyID AND stories.userID=usr.id AND stories.contestID=$contestID GROUP BY votes.storyID ORDER BY stories.approved,count DESC, sID ASC LIMIT $b_recno,$recs";