求一个SQL语句。 - MS-SQL Server / 应用实例
假设SQL数据表如不:
id field A field B ...
1 AA S1
2 AA S2
3 AA S3
4 AA S2
5 B S2
6 C S3
7 D S1
8 D S1
9 D S2
10 D S2
其中FIELD B的取值范围是有限的,要求得到以下结果:
FIELD A S1 S2 S3(上表只有三种取值)
AA 1 2 1
B 1
C 1
D 2 2
请问SQL 语句该如何写?
SQL code:
--既然fieldB有限那就可以写死
select FieldA,
S1=sum(case when FieldB='S1' then 1 else 0 end),
S2=sum(case when FieldB='S2' then 1 else 0 end),
S3=sum(case when FieldB='S3' then 1 else 0 end)
from [Table]
group by FieldA
SQL code:
select FieldA,
S1=sum(case when FieldB='S1' then 1 else 0 end),
S2=sum(case when FieldB='S2' then 1 else 0 end),
S3=sum(case when FieldB='S3' then 1 else 0 end)
from [Table]
group by FieldA
传说中的行列转换
精华帖
很经典
SQL code
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.c
相关问答:
执行的顺序:
1)文件浏览框(选择文件使用)
选择好文件后
点击一个导入按钮的时候 ,把上面上传框里的csv文件以一个ID为文件名,上传到**/**文件夹下
2)读取这个文件夹下的csv的文件,转换成sql
3 ......
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......
今天做了一个存储过程 环境是SQL2000数据库
大致如下
建立临时表
定义员工游标
循环员工(属于1个公司)
......
现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......
字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......