Geeks With Blogs
AzamSharp Some day I will know everything. I hope that day never comes.

Well, Some time ago I wrote this nasty query to select the posts which are of the present month.

CREATE PROCEDURE usp_GetCurrentPosts 


DECLARE @CurrentYear 
DECLARE @CurrentMonth int 

SET @CurrentYear = YEAR(GETDATE()) 
SET @CurrentMonth = MONTH(GETDATE()) 

SELECT PostID, Title, Url, Description, DateCreated FROM Posts
WHERE @CurrentYear = YEAR(DateCreated) AND @CurrentMonth = MONTH(DateCreated) AND
Active = 1

Today I refactored it out to this:

-- Get all the post not depending if it has the thread or not

SELECT p.PostID, p.Url, p.Title,COUNT(t.ThreadID),p.DateCreated "Comments" FROM Posts p
LEFT OUTER JOIN Threads t ON p.PostID = t.PostID
p.Active = 1
CONVERT(CHAR(6), p.DateCreated, 112) = CONVERT(CHAR(6),GETDATE(), 112)
GROUP BY p.PostID,p.Url,p.Title,p.DateCreated

Everyday you learn something new :)



powered by IMHO


Posted on Sunday, December 11, 2005 11:50 PM | Back to top

Comments on this post: Refactor the SQL Queries!

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Mohammad Azam | Powered by: