dbTalk Databases Forums  

Query - select common data from one column and display in severalcolumns

comp.databases.ms-sqlserver comp.databases.ms-sqlserver


Discuss Query - select common data from one column and display in severalcolumns in the comp.databases.ms-sqlserver forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
rui dias
 
Posts: n/a

Default Query - select common data from one column and display in severalcolumns - 02-28-2008 , 04:46 AM






Hello,


I have a (big) table which is not normalized, but for i need at the
moment i think
that's no problem. Indeed, what i would like to do is to select the
name field and
the note. The problem is that i want to display the note in 2
different columns.
the first columns will show the number (count) of time that a certain
note (e.g note=4)
appears for a certain name and in the other column the same thing but
for a different note value.

so each column noteX will display the number of time that the note
with the value X appears for each name


for example, to the following table:


Name | note | job | city | id |
----------------------------------------
john | 4 | jb1 | hamb | 1 |
john | 5 | jb2 | hamb | 2 |
john | 5 | jb3 | hamb | 3 |
john | 5 | jb4 | hamb | 4 |
Mark | 4 | jb1 | mun | 5 |
Mark | 4 | jb2 | mun | 6 |
Mark | 4 | jb5 | mun | 7 |
Mark | 5 | jb1 | mun | 8 |
peter | 5 | jb3 | berl | 9 |
peter | 5 | jb5 | berl | 10 |
frank | 4 | jb6 | v.form | 11 |
frank | 5 | jb3 | v.form | 12 |
frank | 5 | jb2 | v.form | 13 |

the result should be:

Name | note5 | note4 |
-------------------------
john | 3 | 1 |
Mark | 1 | 3 |
peter | 2 | 0 |
frank | 2 | 1 |


How should be the right SQL command to show the data i want?


Rui Dias
rldias (AT) gmail (DOT) com



Thanks a lot

Reply With Quote
  #2  
Old   
Mark
 
Posts: n/a

Default Re: Query - select common data from one column and display in severalcolumns - 02-28-2008 , 04:56 AM






select Name,
sum(case when note=5 then 1 else 0 end) as note5,
sum(case when note=4 then 1 else 0 end) as note4
from mytable
group by Name

Reply With Quote
  #3  
Old   
czytacz
 
Posts: n/a

Default Re: Query - select common data from one column and display in severalcolumns - 02-28-2008 , 05:25 AM



not simple,
but possible is to use pivot/unpivot


Reply With Quote
  #4  
Old   
rui dias
 
Posts: n/a

Default Re: Query - select common data from one column and display in severalcolumns - 02-28-2008 , 05:30 AM



On Feb 28, 11:56 am, Mark <markc... (AT) hotmail (DOT) com> wrote:
Quote:
select Name,
sum(case when note=5 then 1 else 0 end) as note5,
sum(case when note=4 then 1 else 0 end) as note4
from mytable
group by Name
Hello Mark,

Thanks a lot for your answer.

It is really nice!
I didn't know the command "case when filed=value then X else Y end"

Really nice!


Reply With Quote
  #5  
Old   
Dan Guzman
 
Posts: n/a

Default Re: Query - select common data from one column and display in several columns - 02-28-2008 , 06:18 AM



Quote:
I didn't know the command "case when filed=value then X else Y end"
Note that a SQL CASE is an expression rather than a command (as in some
other languages). You can use it where expressions are allowed in SQL.

--
Hope this helps.

Dan Guzman
SQL Server MVP
http://weblogs.sqlteam.com/dang/

"rui dias" <rldias (AT) gmail (DOT) com> wrote

Quote:
On Feb 28, 11:56 am, Mark <markc... (AT) hotmail (DOT) com> wrote:
select Name,
sum(case when note=5 then 1 else 0 end) as note5,
sum(case when note=4 then 1 else 0 end) as note4
from mytable
group by Name

Hello Mark,

Thanks a lot for your answer.

It is really nice!
I didn't know the command "case when filed=value then X else Y end"

Really nice!


Reply With Quote
  #6  
Old   
Plamen Ratchev
 
Posts: n/a

Default Re: Query - select common data from one column and display in several columns - 02-28-2008 , 07:18 AM



Here is a version with the PIVOT operator in SQL Server 2005:

SELECT [name],
SUM([5]) AS note5,
SUM([4]) AS note4
FROM Foo
PIVOT (COUNT(note) FOR note IN ([5], [4])) AS P
GROUP BY [name];

HTH,

Plamen Ratchev
http://www.SQLStudio.com

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.