表:
姓名 年级 语文
A 一 98
B 一 66
A 二 70
A 三 55
A 四 88
C 四 66
要得到结果(如查询A):姓名 年级 语文 年级 语文 年级 语文 年级 语文
A 一 98 二 70 三 55 四 88
要如何实现了?
姓名 年级 语文
A 一 98
B 一 66
A 二 70
A 三 55
A 四 88
C 四 66
要得到结果(如查询A):姓名 年级 语文 年级 语文 年级 语文 年级 语文
A 一 98 二 70 三 55 四 88
要如何实现了?
SELECT c1.cat_id AS id1, c1.cat_name AS name1, c2.cat_id AS id2, c2.cat_name AS name2
FROM dbo.blog_Category AS c1 INNER JOIN
dbo.blog_Category AS c2 ON c2.cat_id = 9
WHERE (c1.cat_id = 8)
2.显示全部
则select * from xxx where 姓名='A'
http://blog.csdn.net/yjswjm119/archive/2005/10/18/508215.aspx
(姓名 char(2),年级 char(2),语文 int)
insert into tbTemp
select 'A','一',98 union all
select 'B','一',66 union all
select 'A','二',70 union all
select 'A','三',55 union all
select 'A','四',88 union all
select 'C','四',66
goselect 姓名,年级='一',语文=isnull(max(case 年级 when '一' then 语文 end),0),
年级='二',语文=isnull(max(case 年级 when '二' then 语文 end),0),
年级='三',语文=isnull(max(case 年级 when '三' then 语文 end),0),
年级='四',语文=isnull(max(case 年级 when '四' then 语文 end),0)
from tbTemp
group by 姓名
/*
姓名 年级 语文 年级 语文 年级 语文 年级 语文
---- ---- ----------- ---- ----------- ---- ----------- ---- -----------
A 一 98 二 70 三 55 四 88
B 一 66 二 0 三 0 四 0
C 一 0 二 0 三 0 四 66(所影响的行数为 3 行)*/