<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: SQL SERVER &#8211; CASE Statement in ORDER BY Clause &#8211; ORDER BY using Variable</title>
	<atom:link href="http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/</link>
	<description>Notes of a SQL Server MVP and Database Administrator</description>
	<lastBuildDate>Wed, 17 Mar 2010 18:05:10 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Brian Tkatch</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63094</link>
		<dc:creator>Brian Tkatch</dc:creator>
		<pubDate>Wed, 17 Mar 2010 13:34:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63094</guid>
		<description>If the percentage is of all responses, not just the non-NULL responses, divide by COUNT(*) instead:

WITH
	Data
	(
	 [Date],
	 [Overall Satisfaction],
	 [staff availability],
	 [Ease in locating Product],
	 [availability],
	 [Payment process],
	 [Helpful staff],
	 [After sales],
	 [Cleanliness],
	 [Store layout &amp; signage],
	 [Staff knowledge],
	 [Parking facilities],
	 [Price competitiveness],
	 [Range],
	 [Display of products],
	 [Promotions]
	)
AS
	(
	 SELECT CONVERT(SMALLDATETIME, &#039;29/12/09&#039;, 3),		&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;30/12/09&#039;, 3),		&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;31/12/09&#039;, 3),		&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;1/1/2009&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;1/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;1/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	&#039;no&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;3/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;3/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;4/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;4/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;5/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;7/1/2010&#039;, 103),	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;7/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL
	)
SELECT
		YEAR([Date]),
		MONTH([Date]),
		COUNT(CASE [Overall Satisfaction]		WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Overall Satisfaction],
		COUNT(CASE [staff availability]			WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [staff availability],
		COUNT(CASE [Ease in locating Product]	WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Ease in locating Product],
		COUNT(CASE [availability]				WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [availability],
		COUNT(CASE [Payment process]			WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Payment process],
		COUNT(CASE [Helpful staff]				WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Helpful staff],
		COUNT(CASE [After sales]				WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [After sales],
		COUNT(CASE [Cleanliness]				WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Cleanliness],
		COUNT(CASE [Store layout &amp; signage]		WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Store layout &amp; signage],
		COUNT(CASE [Staff knowledge]			WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Staff knowledge],
		COUNT(CASE [Parking facilities]			WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Parking facilities],
		COUNT(CASE [Price competitiveness]		WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Price competitiveness],
		COUNT(CASE [Range]						WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Range],
		COUNT(CASE [Display of products]		WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Display of products],
		COUNT(CASE [Promotions]					WHEN &#039;yes&#039; THEN 1 END) * 1.00 / COUNT(*) [Promotions]
FROM
		Data
GROUP BY 
		YEAR([Date]),
		MONTH([Date])
ORDER BY
		YEAR([Date]),
		MONTH([Date]);</description>
		<content:encoded><![CDATA[<p>If the percentage is of all responses, not just the non-NULL responses, divide by COUNT(*) instead:</p>
<p>WITH<br />
	Data<br />
	(<br />
	 [Date],<br />
	 [Overall Satisfaction],<br />
	 [staff availability],<br />
	 [Ease in locating Product],<br />
	 [availability],<br />
	 [Payment process],<br />
	 [Helpful staff],<br />
	 [After sales],<br />
	 [Cleanliness],<br />
	 [Store layout &amp; signage],<br />
	 [Staff knowledge],<br />
	 [Parking facilities],<br />
	 [Price competitiveness],<br />
	 [Range],<br />
	 [Display of products],<br />
	 [Promotions]<br />
	)<br />
AS<br />
	(<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;29/12/09&#8242;, 3),		&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;30/12/09&#8242;, 3),		&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;31/12/09&#8242;, 3),		&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;1/1/2009&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;1/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;1/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	&#8216;no&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;3/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;3/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;4/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;4/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;5/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;7/1/2010&#8242;, 103),	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;7/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL<br />
	)<br />
SELECT<br />
		YEAR([Date]),<br />
		MONTH([Date]),<br />
		COUNT(CASE [Overall Satisfaction]		WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Overall Satisfaction],<br />
		COUNT(CASE [staff availability]			WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [staff availability],<br />
		COUNT(CASE [Ease in locating Product]	WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Ease in locating Product],<br />
		COUNT(CASE [availability]				WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [availability],<br />
		COUNT(CASE [Payment process]			WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Payment process],<br />
		COUNT(CASE [Helpful staff]				WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Helpful staff],<br />
		COUNT(CASE [After sales]				WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [After sales],<br />
		COUNT(CASE [Cleanliness]				WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Cleanliness],<br />
		COUNT(CASE [Store layout &amp; signage]		WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Store layout &amp; signage],<br />
		COUNT(CASE [Staff knowledge]			WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Staff knowledge],<br />
		COUNT(CASE [Parking facilities]			WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Parking facilities],<br />
		COUNT(CASE [Price competitiveness]		WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Price competitiveness],<br />
		COUNT(CASE [Range]						WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Range],<br />
		COUNT(CASE [Display of products]		WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Display of products],<br />
		COUNT(CASE [Promotions]					WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / COUNT(*) [Promotions]<br />
FROM<br />
		Data<br />
GROUP BY<br />
		YEAR([Date]),<br />
		MONTH([Date])<br />
ORDER BY<br />
		YEAR([Date]),<br />
		MONTH([Date]);</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Tkatch</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63093</link>
		<dc:creator>Brian Tkatch</dc:creator>
		<pubDate>Wed, 17 Mar 2010 13:32:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63093</guid>
		<description>Oops, forgotr to make it decimal:

WITH
	Data
	(
	 [Date],
	 [Overall Satisfaction],
	 [staff availability],
	 [Ease in locating Product],
	 [availability],
	 [Payment process],
	 [Helpful staff],
	 [After sales],
	 [Cleanliness],
	 [Store layout &amp; signage],
	 [Staff knowledge],
	 [Parking facilities],
	 [Price competitiveness],
	 [Range],
	 [Display of products],
	 [Promotions]
	)
AS
	(
	 SELECT CONVERT(SMALLDATETIME, &#039;29/12/09&#039;, 3),		&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;30/12/09&#039;, 3),		&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;31/12/09&#039;, 3),		&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;1/1/2009&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;1/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;1/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	&#039;no&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;3/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;3/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;4/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;4/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;5/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;7/1/2010&#039;, 103),	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;7/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL
	)
SELECT
		YEAR([Date]),
		MONTH([Date]),
		COUNT(CASE [Overall Satisfaction]		WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Overall Satisfaction]),		0) [Overall Satisfaction],
		COUNT(CASE [staff availability]			WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([staff availability]),		0) [staff availability],
		COUNT(CASE [Ease in locating Product]	WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Ease in locating Product]),	0) [Ease in locating Product],
		COUNT(CASE [availability]				WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([availability]),				0) [availability],
		COUNT(CASE [Payment process]			WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Payment process]),			0) [Payment process],
		COUNT(CASE [Helpful staff]				WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Helpful staff]),				0) [Helpful staff],
		COUNT(CASE [After sales]				WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([After sales]),				0) [After sales],
		COUNT(CASE [Cleanliness]				WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Cleanliness]),				0) [Cleanliness],
		COUNT(CASE [Store layout &amp; signage]		WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Store layout &amp; signage]),	0) [Store layout &amp; signage],
		COUNT(CASE [Staff knowledge]			WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Staff knowledge]),			0) [Staff knowledge],
		COUNT(CASE [Parking facilities]			WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Parking facilities]),		0) [Parking facilities],
		COUNT(CASE [Price competitiveness]		WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Price competitiveness]),		0) [Price competitiveness],
		COUNT(CASE [Range]						WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Range]),						0) [Range],
		COUNT(CASE [Display of products]		WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Display of products]),		0) [Display of products],
		COUNT(CASE [Promotions]					WHEN &#039;yes&#039; THEN 1 END) * 1.00 / NULLIF(COUNT([Promotions]),				0) [Promotions]
FROM
		Data
GROUP BY 
		YEAR([Date]),
		MONTH([Date])
ORDER BY
		YEAR([Date]),
		MONTH([Date]);</description>
		<content:encoded><![CDATA[<p>Oops, forgotr to make it decimal:</p>
<p>WITH<br />
	Data<br />
	(<br />
	 [Date],<br />
	 [Overall Satisfaction],<br />
	 [staff availability],<br />
	 [Ease in locating Product],<br />
	 [availability],<br />
	 [Payment process],<br />
	 [Helpful staff],<br />
	 [After sales],<br />
	 [Cleanliness],<br />
	 [Store layout &amp; signage],<br />
	 [Staff knowledge],<br />
	 [Parking facilities],<br />
	 [Price competitiveness],<br />
	 [Range],<br />
	 [Display of products],<br />
	 [Promotions]<br />
	)<br />
AS<br />
	(<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;29/12/09&#8242;, 3),		&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;30/12/09&#8242;, 3),		&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;31/12/09&#8242;, 3),		&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;1/1/2009&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;1/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;1/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	&#8216;no&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;3/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;3/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;4/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;4/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;5/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;7/1/2010&#8242;, 103),	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;7/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL<br />
	)<br />
SELECT<br />
		YEAR([Date]),<br />
		MONTH([Date]),<br />
		COUNT(CASE [Overall Satisfaction]		WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Overall Satisfaction]),		0) [Overall Satisfaction],<br />
		COUNT(CASE [staff availability]			WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([staff availability]),		0) [staff availability],<br />
		COUNT(CASE [Ease in locating Product]	WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Ease in locating Product]),	0) [Ease in locating Product],<br />
		COUNT(CASE [availability]				WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([availability]),				0) [availability],<br />
		COUNT(CASE [Payment process]			WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Payment process]),			0) [Payment process],<br />
		COUNT(CASE [Helpful staff]				WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Helpful staff]),				0) [Helpful staff],<br />
		COUNT(CASE [After sales]				WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([After sales]),				0) [After sales],<br />
		COUNT(CASE [Cleanliness]				WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Cleanliness]),				0) [Cleanliness],<br />
		COUNT(CASE [Store layout &amp; signage]		WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Store layout &amp; signage]),	0) [Store layout &amp; signage],<br />
		COUNT(CASE [Staff knowledge]			WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Staff knowledge]),			0) [Staff knowledge],<br />
		COUNT(CASE [Parking facilities]			WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Parking facilities]),		0) [Parking facilities],<br />
		COUNT(CASE [Price competitiveness]		WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Price competitiveness]),		0) [Price competitiveness],<br />
		COUNT(CASE [Range]						WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Range]),						0) [Range],<br />
		COUNT(CASE [Display of products]		WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Display of products]),		0) [Display of products],<br />
		COUNT(CASE [Promotions]					WHEN &#8216;yes&#8217; THEN 1 END) * 1.00 / NULLIF(COUNT([Promotions]),				0) [Promotions]<br />
FROM<br />
		Data<br />
GROUP BY<br />
		YEAR([Date]),<br />
		MONTH([Date])<br />
ORDER BY<br />
		YEAR([Date]),<br />
		MONTH([Date]);</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Tkatch</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63092</link>
		<dc:creator>Brian Tkatch</dc:creator>
		<pubDate>Wed, 17 Mar 2010 13:26:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63092</guid>
		<description>@Madhu

Here&#039;s the answer. The format may be hard though:

WITH
	Data
	(
	 [Date],
	 [Overall Satisfaction],
	 [staff availability],
	 [Ease in locating Product],
	 [availability],
	 [Payment process],
	 [Helpful staff],
	 [After sales],
	 [Cleanliness],
	 [Store layout &amp; signage],
	 [Staff knowledge],
	 [Parking facilities],
	 [Price competitiveness],
	 [Range],
	 [Display of products],
	 [Promotions]
	)
AS
	(
	 SELECT CONVERT(SMALLDATETIME, &#039;29/12/09&#039;, 3),		&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;30/12/09&#039;, 3),		&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;31/12/09&#039;, 3),		&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;1/1/2009&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;1/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;1/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	&#039;no&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;2/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;3/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;3/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;4/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;4/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;5/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;7/1/2010&#039;, 103),	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL
	 SELECT CONVERT(SMALLDATETIME, &#039;7/1/2010&#039;, 103),	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	&#039;yes&#039;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL
	)
SELECT
		YEAR([Date]),
		MONTH([Date]),
		COUNT(CASE [Overall Satisfaction]		WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Overall Satisfaction]),		0) [Overall Satisfaction],
		COUNT(CASE [staff availability]			WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([staff availability]),		0) [staff availability],
		COUNT(CASE [Ease in locating Product]	WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Ease in locating Product]),	0) [Ease in locating Product],
		COUNT(CASE [availability]				WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([availability]),				0) [availability],
		COUNT(CASE [Payment process]			WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Payment process]),			0) [Payment process],
		COUNT(CASE [Helpful staff]				WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Helpful staff]),				0) [Helpful staff],
		COUNT(CASE [After sales]				WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([After sales]),				0) [After sales],
		COUNT(CASE [Cleanliness]				WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Cleanliness]),				0) [Cleanliness],
		COUNT(CASE [Store layout &amp; signage]		WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Store layout &amp; signage]),	0) [Store layout &amp; signage],
		COUNT(CASE [Staff knowledge]			WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Staff knowledge]),			0) [Staff knowledge],
		COUNT(CASE [Parking facilities]			WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Parking facilities]),		0) [Parking facilities],
		COUNT(CASE [Price competitiveness]		WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Price competitiveness]),		0) [Price competitiveness],
		COUNT(CASE [Range]						WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Range]),						0) [Range],
		COUNT(CASE [Display of products]		WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Display of products]),		0) [Display of products],
		COUNT(CASE [Promotions]					WHEN &#039;yes&#039; THEN 1 END) / NULLIF(COUNT([Promotions]),				0) [Promotions]
FROM
		Data
GROUP BY 
		YEAR([Date]),
		MONTH([Date])
ORDER BY
		YEAR([Date]),
		MONTH([Date]);</description>
		<content:encoded><![CDATA[<p>@Madhu</p>
<p>Here&#8217;s the answer. The format may be hard though:</p>
<p>WITH<br />
	Data<br />
	(<br />
	 [Date],<br />
	 [Overall Satisfaction],<br />
	 [staff availability],<br />
	 [Ease in locating Product],<br />
	 [availability],<br />
	 [Payment process],<br />
	 [Helpful staff],<br />
	 [After sales],<br />
	 [Cleanliness],<br />
	 [Store layout &amp; signage],<br />
	 [Staff knowledge],<br />
	 [Parking facilities],<br />
	 [Price competitiveness],<br />
	 [Range],<br />
	 [Display of products],<br />
	 [Promotions]<br />
	)<br />
AS<br />
	(<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;29/12/09&#8242;, 3),		&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;30/12/09&#8242;, 3),		&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;31/12/09&#8242;, 3),		&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;1/1/2009&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;1/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;1/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	&#8216;no&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;2/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;3/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;3/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;4/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;4/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;5/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;7/1/2010&#8242;, 103),	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	UNION ALL<br />
	 SELECT CONVERT(SMALLDATETIME, &#8216;7/1/2010&#8242;, 103),	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	&#8216;yes&#8217;,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL<br />
	)<br />
SELECT<br />
		YEAR([Date]),<br />
		MONTH([Date]),<br />
		COUNT(CASE [Overall Satisfaction]		WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Overall Satisfaction]),		0) [Overall Satisfaction],<br />
		COUNT(CASE [staff availability]			WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([staff availability]),		0) [staff availability],<br />
		COUNT(CASE [Ease in locating Product]	WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Ease in locating Product]),	0) [Ease in locating Product],<br />
		COUNT(CASE [availability]				WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([availability]),				0) [availability],<br />
		COUNT(CASE [Payment process]			WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Payment process]),			0) [Payment process],<br />
		COUNT(CASE [Helpful staff]				WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Helpful staff]),				0) [Helpful staff],<br />
		COUNT(CASE [After sales]				WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([After sales]),				0) [After sales],<br />
		COUNT(CASE [Cleanliness]				WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Cleanliness]),				0) [Cleanliness],<br />
		COUNT(CASE [Store layout &amp; signage]		WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Store layout &amp; signage]),	0) [Store layout &amp; signage],<br />
		COUNT(CASE [Staff knowledge]			WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Staff knowledge]),			0) [Staff knowledge],<br />
		COUNT(CASE [Parking facilities]			WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Parking facilities]),		0) [Parking facilities],<br />
		COUNT(CASE [Price competitiveness]		WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Price competitiveness]),		0) [Price competitiveness],<br />
		COUNT(CASE [Range]						WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Range]),						0) [Range],<br />
		COUNT(CASE [Display of products]		WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Display of products]),		0) [Display of products],<br />
		COUNT(CASE [Promotions]					WHEN &#8216;yes&#8217; THEN 1 END) / NULLIF(COUNT([Promotions]),				0) [Promotions]<br />
FROM<br />
		Data<br />
GROUP BY<br />
		YEAR([Date]),<br />
		MONTH([Date])<br />
ORDER BY<br />
		YEAR([Date]),<br />
		MONTH([Date]);</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Tkatch</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63088</link>
		<dc:creator>Brian Tkatch</dc:creator>
		<pubDate>Wed, 17 Mar 2010 12:54:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63088</guid>
		<description>See Pinal&#039;s article on seaparate comma-separated values:

http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma-delimited-file-into-sql-server/</description>
		<content:encoded><![CDATA[<p>See Pinal&#8217;s article on seaparate comma-separated values:</p>
<p><a href="http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma-delimited-file-into-sql-server/" rel="nofollow">http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma-delimited-file-into-sql-server/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Madhu</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63038</link>
		<dc:creator>Madhu</dc:creator>
		<pubDate>Wed, 17 Mar 2010 05:03:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63038</guid>
		<description>columns are ... Date , overall satisfaction ,  Staff availability etc .</description>
		<content:encoded><![CDATA[<p>columns are &#8230; Date , overall satisfaction ,  Staff availability etc .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Madhu</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63037</link>
		<dc:creator>Madhu</dc:creator>
		<pubDate>Wed, 17 Mar 2010 05:01:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63037</guid>
		<description>Date	Overall Satisfaction	staff availability	Ease in locating 	Product availability	Payment process	Helpful staff	After sales	Cleanliness	Store layout &amp; signage	Staff knowledge	Parking facilities	Price competitiveness	Range	Display of products	Promotions
29/12/09	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes
30/12/09	yes														
31/12/09	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes
1/1/2009	yes						yes								
1/1/2010	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes
1/1/2010	yes	yes													
2/1/2010	no				yes								yes	yes	
2/1/2010	yes														
2/1/2010															
2/1/2010	yes	yes						yes		yes		yes		yes	
3/1/2010	yes										yes		yes		
3/1/2010	yes	yes													
4/1/2010	yes	yes	yes	yes	yes	yes		yes		yes		yes		yes	
4/1/2010	yes	yes	yes	yes	yes	yes	yes	yes							
5/1/2010	yes											yes			
7/1/2010							yes								
7/1/2010	yes											yes	yes	yes</description>
		<content:encoded><![CDATA[<p>Date	Overall Satisfaction	staff availability	Ease in locating 	Product availability	Payment process	Helpful staff	After sales	Cleanliness	Store layout &amp; signage	Staff knowledge	Parking facilities	Price competitiveness	Range	Display of products	Promotions<br />
29/12/09	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes<br />
30/12/09	yes<br />
31/12/09	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes<br />
1/1/2009	yes						yes<br />
1/1/2010	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes	yes<br />
1/1/2010	yes	yes<br />
2/1/2010	no				yes								yes	yes<br />
2/1/2010	yes<br />
2/1/2010<br />
2/1/2010	yes	yes						yes		yes		yes		yes<br />
3/1/2010	yes										yes		yes<br />
3/1/2010	yes	yes<br />
4/1/2010	yes	yes	yes	yes	yes	yes		yes		yes		yes		yes<br />
4/1/2010	yes	yes	yes	yes	yes	yes	yes	yes<br />
5/1/2010	yes											yes<br />
7/1/2010							yes<br />
7/1/2010	yes											yes	yes	yes</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: P.Pandiarajan</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63036</link>
		<dc:creator>P.Pandiarajan</dc:creator>
		<pubDate>Wed, 17 Mar 2010 04:46:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63036</guid>
		<description>Hi Brian Tkatch,


               that field have combine in &#039;1,2,3&#039;. this is one record.
how to split the record in select query. then how to use the case statement. 


I need the Sun,Mon,Tue

regards
P.pandiaRajan</description>
		<content:encoded><![CDATA[<p>Hi Brian Tkatch,</p>
<p>               that field have combine in &#8216;1,2,3&#8242;. this is one record.<br />
how to split the record in select query. then how to use the case statement. </p>
<p>I need the Sun,Mon,Tue</p>
<p>regards<br />
P.pandiaRajan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Tkatch</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63018</link>
		<dc:creator>Brian Tkatch</dc:creator>
		<pubDate>Tue, 16 Mar 2010 15:58:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63018</guid>
		<description>@P.Pandiarajan

 CASE field
  WHEN 1 THEN &#039;Sun&#039;
  WHEN 2 THEN &#039;Mon&#039;
  WHEN 3 THEN &#039;Tues&#039;
  WHEN 4 THEN &#039;Wednes&#039;
  WHEN 5 THEN &#039;Thurs&#039;
  WHEN 6 THEN &#039;Fri&#039;
  WHEN 7 THEN &#039;Satur&#039;
 END + &#039;day&#039;</description>
		<content:encoded><![CDATA[<p>@P.Pandiarajan</p>
<p> CASE field<br />
  WHEN 1 THEN &#8216;Sun&#8217;<br />
  WHEN 2 THEN &#8216;Mon&#8217;<br />
  WHEN 3 THEN &#8216;Tues&#8217;<br />
  WHEN 4 THEN &#8216;Wednes&#8217;<br />
  WHEN 5 THEN &#8216;Thurs&#8217;<br />
  WHEN 6 THEN &#8216;Fri&#8217;<br />
  WHEN 7 THEN &#8216;Satur&#8217;<br />
 END + &#8216;day&#8217;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Tkatch</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63017</link>
		<dc:creator>Brian Tkatch</dc:creator>
		<pubDate>Tue, 16 Mar 2010 15:56:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63017</guid>
		<description>@madhuri

Please give an example of the TABLE.</description>
		<content:encoded><![CDATA[<p>@madhuri</p>
<p>Please give an example of the TABLE.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: P.Pandiarajan</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63011</link>
		<dc:creator>P.Pandiarajan</dc:creator>
		<pubDate>Tue, 16 Mar 2010 13:56:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-63011</guid>
		<description>Hi Every body,


               I have one doubt in case statement. my table have one record found. that record have one field ,that field have &#039;1,2,3&#039; this value have convert into Sunday , Monday  format how its possible.........


regards 
P.pandiaRajan</description>
		<content:encoded><![CDATA[<p>Hi Every body,</p>
<p>               I have one doubt in case statement. my table have one record found. that record have one field ,that field have &#8216;1,2,3&#8242; this value have convert into Sunday , Monday  format how its possible&#8230;&#8230;&#8230;</p>
<p>regards<br />
P.pandiaRajan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Madhuri</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-61825</link>
		<dc:creator>Madhuri</dc:creator>
		<pubDate>Fri, 26 Feb 2010 09:43:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-61825</guid>
		<description>if anyone have solution for my problem ... 
please do the favor for me ...</description>
		<content:encoded><![CDATA[<p>if anyone have solution for my problem &#8230;<br />
please do the favor for me &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Madhuri</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-61820</link>
		<dc:creator>Madhuri</dc:creator>
		<pubDate>Fri, 26 Feb 2010 09:17:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-61820</guid>
		<description>hi Pinal ,

i have a table abc with 16 columns . i am uploading excel file in that table so that all the data  of the excel sheet is getting transferred in the SQL table . all the data is either    &#039;yes&#039; or &#039;no &#039;.
now i want to calculate the percentage of &#039;yes&#039; in each column and i want to transfer that calculated percentage value in another table xyz for all the 16 columns. the first column, that is date that stores the date in &quot;2010-01-01 00:00:00.000 &quot; form . and i need to get only month and year in the first column of the new table . 

i don&#039;t kn how to write store procedure for this . 
please help me ..... :(</description>
		<content:encoded><![CDATA[<p>hi Pinal ,</p>
<p>i have a table abc with 16 columns . i am uploading excel file in that table so that all the data  of the excel sheet is getting transferred in the SQL table . all the data is either    &#8216;yes&#8217; or &#8216;no &#8216;.<br />
now i want to calculate the percentage of &#8216;yes&#8217; in each column and i want to transfer that calculated percentage value in another table xyz for all the 16 columns. the first column, that is date that stores the date in &#8220;2010-01-01 00:00:00.000 &#8221; form . and i need to get only month and year in the first column of the new table . </p>
<p>i don&#8217;t kn how to write store procedure for this .<br />
please help me &#8230;.. :(</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl Soto</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-60290</link>
		<dc:creator>Carl Soto</dc:creator>
		<pubDate>Wed, 27 Jan 2010 19:03:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-60290</guid>
		<description>Try this: 

ORDER BY 
	CASE 
		WHEN @col=&#039;&#039;name&#039;&#039; AND @sort=&#039;&#039;asc&#039;&#039; THEN (RANK() OVER (ORDER BY Name,  Status))
		WHEN @col=&#039;&#039;name&#039;&#039; AND @sort=&#039;&#039;desc&#039;&#039; THEN (RANK() OVER (ORDER BY Name DESC,  Status))
		WHEN @col=&#039;&#039;status&#039;&#039; AND @sort=&#039;&#039;asc&#039;&#039; THEN (RANK() OVER (ORDER BY Status, Name))  
		WHEN @col=&#039;&#039;status&#039;&#039; AND @sort=&#039;&#039;desc&#039;&#039; THEN (RANK() OVER (ORDER BY Status DESC, Name))  
		WHEN @col=&#039;&#039;&#039;&#039; THEN (RANK() OVER (ORDER BY Name,  Status))
	END</description>
		<content:encoded><![CDATA[<p>Try this: </p>
<p>ORDER BY<br />
	CASE<br />
		WHEN @col=&#8221;name&#8221; AND @sort=&#8221;asc&#8221; THEN (RANK() OVER (ORDER BY Name,  Status))<br />
		WHEN @col=&#8221;name&#8221; AND @sort=&#8221;desc&#8221; THEN (RANK() OVER (ORDER BY Name DESC,  Status))<br />
		WHEN @col=&#8217;&#8217;status&#8221; AND @sort=&#8221;asc&#8221; THEN (RANK() OVER (ORDER BY Status, Name))<br />
		WHEN @col=&#8217;&#8217;status&#8221; AND @sort=&#8221;desc&#8221; THEN (RANK() OVER (ORDER BY Status DESC, Name))<br />
		WHEN @col=&#8221;&#8221; THEN (RANK() OVER (ORDER BY Name,  Status))<br />
	END</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tweety</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58768</link>
		<dc:creator>Tweety</dc:creator>
		<pubDate>Thu, 17 Dec 2009 15:27:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58768</guid>
		<description>Hello Pinal,

Thank you for the reply. I got the required output.

Tweety</description>
		<content:encoded><![CDATA[<p>Hello Pinal,</p>
<p>Thank you for the reply. I got the required output.</p>
<p>Tweety</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Tkatch</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58765</link>
		<dc:creator>Brian Tkatch</dc:creator>
		<pubDate>Thu, 17 Dec 2009 14:42:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58765</guid>
		<description>@tweety

What is exactly is the order? Cities before countries? Do you have a TABLE that lists either?

To just list them,

ORDER BY
		CASE PLACE
		 WHEN &#039;Albany&#039;			THEN 1
		 WHEN &#039;Anchorage&#039;		THEN 2
		 WHEN &#039;Carbondale&#039;		THEN 3
		 WHEN &#039;Des Moines&#039;		THEN 4
		 WHEN &#039;Nashville&#039;		THEN 5
		 WHEN &#039;Canada&#039;			THEN 6
		 WHEN &#039;China&#039;			THEN 7
		 WHEN &#039;England / UK&#039;		THEN 8
		 WHEN &#039;France&#039;			THEN 9
		 WHEN &#039;Hong Kong&#039;		THEN 10
		 WHEN &#039;Mexico&#039;			THEN 11
		 WHEN &#039;Russia&#039;			THEN 12
		 WHEN &#039;Singapore&#039;		THEN 13
		END</description>
		<content:encoded><![CDATA[<p>@tweety</p>
<p>What is exactly is the order? Cities before countries? Do you have a TABLE that lists either?</p>
<p>To just list them,</p>
<p>ORDER BY<br />
		CASE PLACE<br />
		 WHEN &#8216;Albany&#8217;			THEN 1<br />
		 WHEN &#8216;Anchorage&#8217;		THEN 2<br />
		 WHEN &#8216;Carbondale&#8217;		THEN 3<br />
		 WHEN &#8216;Des Moines&#8217;		THEN 4<br />
		 WHEN &#8216;Nashville&#8217;		THEN 5<br />
		 WHEN &#8216;Canada&#8217;			THEN 6<br />
		 WHEN &#8216;China&#8217;			THEN 7<br />
		 WHEN &#8216;England / UK&#8217;		THEN 8<br />
		 WHEN &#8216;France&#8217;			THEN 9<br />
		 WHEN &#8216;Hong Kong&#8217;		THEN 10<br />
		 WHEN &#8216;Mexico&#8217;			THEN 11<br />
		 WHEN &#8216;Russia&#8217;			THEN 12<br />
		 WHEN &#8216;Singapore&#8217;		THEN 13<br />
		END</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Tkatch</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58763</link>
		<dc:creator>Brian Tkatch</dc:creator>
		<pubDate>Thu, 17 Dec 2009 14:37:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58763</guid>
		<description>@Manish

 Dyanimc TABLE names usually require dynamic SQL.</description>
		<content:encoded><![CDATA[<p>@Manish</p>
<p> Dyanimc TABLE names usually require dynamic SQL.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pinal Dave</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58756</link>
		<dc:creator>Pinal Dave</dc:creator>
		<pubDate>Thu, 17 Dec 2009 13:04:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58756</guid>
		<description>Hello Tweety,

You can get the desired result by using ROW_NUMBER() OVER (ORDER BY ... PARTITIONED BY) clause.

Regards,
Pinal Dave</description>
		<content:encoded><![CDATA[<p>Hello Tweety,</p>
<p>You can get the desired result by using ROW_NUMBER() OVER (ORDER BY &#8230; PARTITIONED BY) clause.</p>
<p>Regards,<br />
Pinal Dave</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tweety</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58741</link>
		<dc:creator>tweety</dc:creator>
		<pubDate>Wed, 16 Dec 2009 22:04:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58741</guid>
		<description>Hello Pinal
I have gone through a lot of posts of yours and all have proved to be very useful. thanks a lot.

Can you please help me with a small issue I am struck with. I need to use order by for 3 columns.
hello there,

I have 3 columns which I have to sort. 
My data is

 - Albany	          22	     194
 - Anchorage	  24	    194
 - Canada          38	    34
 - Carbondale	  40	    194
 - China              51	     40
 - Des Moines	  61	    194
 - England / UK	  307    193
 - France	          69	     66
 - Hong Kong	  83	     84
 - Mexico	          308    123
 - Nashville	  119     194
 - Russia	          310      153
 - Singapore	  172      165

I want the data to be sorted as

     Albany	                 22	 194

   Anchorage      	 24	 194
 
   Carbondale	         40	 194

    Des Moines	         61	 194

    Nashville	        119	 194

    Canada	        38	 34

    China                    51	 40 

    England / UK	307	 193
 
    France	                 69	 66
    
    Hong Kong     	83	 84
 
    Mexico                 308	 123 

    Russia	              310	 153

    Singapore	     172	165 

I tried to use the order by CASE but could not achieve it. 
thanks in advance.</description>
		<content:encoded><![CDATA[<p>Hello Pinal<br />
I have gone through a lot of posts of yours and all have proved to be very useful. thanks a lot.</p>
<p>Can you please help me with a small issue I am struck with. I need to use order by for 3 columns.<br />
hello there,</p>
<p>I have 3 columns which I have to sort.<br />
My data is</p>
<p> &#8211; Albany	          22	     194<br />
 &#8211; Anchorage	  24	    194<br />
 &#8211; Canada          38	    34<br />
 &#8211; Carbondale	  40	    194<br />
 &#8211; China              51	     40<br />
 &#8211; Des Moines	  61	    194<br />
 &#8211; England / UK	  307    193<br />
 &#8211; France	          69	     66<br />
 &#8211; Hong Kong	  83	     84<br />
 &#8211; Mexico	          308    123<br />
 &#8211; Nashville	  119     194<br />
 &#8211; Russia	          310      153<br />
 &#8211; Singapore	  172      165</p>
<p>I want the data to be sorted as</p>
<p>     Albany	                 22	 194</p>
<p>   Anchorage      	 24	 194</p>
<p>   Carbondale	         40	 194</p>
<p>    Des Moines	         61	 194</p>
<p>    Nashville	        119	 194</p>
<p>    Canada	        38	 34</p>
<p>    China                    51	 40 </p>
<p>    England / UK	307	 193</p>
<p>    France	                 69	 66</p>
<p>    Hong Kong     	83	 84</p>
<p>    Mexico                 308	 123 </p>
<p>    Russia	              310	 153</p>
<p>    Singapore	     172	165 </p>
<p>I tried to use the order by CASE but could not achieve it.<br />
thanks in advance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Manish</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58403</link>
		<dc:creator>Manish</dc:creator>
		<pubDate>Thu, 10 Dec 2009 11:22:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-58403</guid>
		<description>hi sir,
i want to make sp 
and dynamically set the table name with select statement in sqlserver 2005.
plz help me..........</description>
		<content:encoded><![CDATA[<p>hi sir,<br />
i want to make sp<br />
and dynamically set the table name with select statement in sqlserver 2005.<br />
plz help me&#8230;&#8230;&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dereck</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-56624</link>
		<dc:creator>Dereck</dc:creator>
		<pubDate>Mon, 12 Oct 2009 15:52:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-56624</guid>
		<description>Great concept!</description>
		<content:encoded><![CDATA[<p>Great concept!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: elkami</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-55528</link>
		<dc:creator>elkami</dc:creator>
		<pubDate>Wed, 02 Sep 2009 14:46:29 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-55528</guid>
		<description>Thanks a lot, i was stuck with this problem
your code help me :D
i going to buy some beers for you :P
your blog save me a lot of times</description>
		<content:encoded><![CDATA[<p>Thanks a lot, i was stuck with this problem<br />
your code help me :D<br />
i going to buy some beers for you :P<br />
your blog save me a lot of times</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seventorrents</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-54252</link>
		<dc:creator>Seventorrents</dc:creator>
		<pubDate>Thu, 30 Jul 2009 08:00:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-54252</guid>
		<description>I agree with Imran Mohammed also you can add the length of the firstname as I noticed you wand the shorter firstnames first:

Select FirstName
from #tbllogin
Where FirstName like ‘%SU%’
order by charindex ( ’su’, firstname ),Len(firstname)</description>
		<content:encoded><![CDATA[<p>I agree with Imran Mohammed also you can add the length of the firstname as I noticed you wand the shorter firstnames first:</p>
<p>Select FirstName<br />
from #tbllogin<br />
Where FirstName like ‘%SU%’<br />
order by charindex ( ’su’, firstname ),Len(firstname)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Imran Mohammed</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-54228</link>
		<dc:creator>Imran Mohammed</dc:creator>
		<pubDate>Thu, 30 Jul 2009 03:39:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-54228</guid>
		<description>@Sumit,

Use CharIndex function to location the position of &#039;SU&#039; Character. Below is a sample code. 

create table #tbllogin (firstname varchar(200))
go
insert into #tbllogin values (&#039;Kumarsumit&#039;)
insert into #tbllogin values (&#039;sumit&#039;)
insert into #tbllogin values (&#039;Kumsumit&#039;)
insert into #tbllogin values (&#039;Ssumit&#039;)
go
Select FirstName from #tbllogin
go
Select	FirstName 
from	#tbllogin 
Where	FirstName like &#039;%SU%&#039;
order by charindex ( &#039;su&#039;, firstname )
go
drop table #tbllogin 

~ IM.</description>
		<content:encoded><![CDATA[<p>@Sumit,</p>
<p>Use CharIndex function to location the position of &#8216;SU&#8217; Character. Below is a sample code. </p>
<p>create table #tbllogin (firstname varchar(200))<br />
go<br />
insert into #tbllogin values (&#8216;Kumarsumit&#8217;)<br />
insert into #tbllogin values (&#8217;sumit&#8217;)<br />
insert into #tbllogin values (&#8216;Kumsumit&#8217;)<br />
insert into #tbllogin values (&#8216;Ssumit&#8217;)<br />
go<br />
Select FirstName from #tbllogin<br />
go<br />
Select	FirstName<br />
from	#tbllogin<br />
Where	FirstName like &#8216;%SU%&#8217;<br />
order by charindex ( &#8217;su&#8217;, firstname )<br />
go<br />
drop table #tbllogin </p>
<p>~ IM.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sumit</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-54203</link>
		<dc:creator>Sumit</dc:creator>
		<pubDate>Wed, 29 Jul 2009 12:17:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-54203</guid>
		<description>I have on urgent query....

suppose i am using like query to search...
query may be like
select firstname  from tbllogin where firstname like &#039;%su%&#039;

what i want how can i sort data on the basis of result found and then sorted on searched value i.e &quot;su&quot;

return data will be like
firstname 
sumit
sumitkumar
kumarSumit
vermakumarsumit

i hope you get me....

please help me</description>
		<content:encoded><![CDATA[<p>I have on urgent query&#8230;.</p>
<p>suppose i am using like query to search&#8230;<br />
query may be like<br />
select firstname  from tbllogin where firstname like &#8216;%su%&#8217;</p>
<p>what i want how can i sort data on the basis of result found and then sorted on searched value i.e &#8220;su&#8221;</p>
<p>return data will be like<br />
firstname<br />
sumit<br />
sumitkumar<br />
kumarSumit<br />
vermakumarsumit</p>
<p>i hope you get me&#8230;.</p>
<p>please help me</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sevento Rrents</title>
		<link>http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-53951</link>
		<dc:creator>Sevento Rrents</dc:creator>
		<pubDate>Wed, 22 Jul 2009 10:13:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/07/17/sql-server-case-statement-in-order-by-clause-order-by-using-variable/#comment-53951</guid>
		<description>Puneet, you can use this trick:

ORDER BY 
     CASE WHEN Country=&#039;US&#039; OR Country=&#039;UK&#039; THEN 0 
     ELSE 1 END
, Country

This will order the list at first by 1 for us and uk and 0 for others then reorder it by country for those with same 1 or 0</description>
		<content:encoded><![CDATA[<p>Puneet, you can use this trick:</p>
<p>ORDER BY<br />
     CASE WHEN Country=&#8217;US&#8217; OR Country=&#8217;UK&#8217; THEN 0<br />
     ELSE 1 END<br />
, Country</p>
<p>This will order the list at first by 1 for us and uk and 0 for others then reorder it by country for those with same 1 or 0</p>
]]></content:encoded>
	</item>
</channel>
</rss>
