首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 分组的疑惑

2013-07-04 
sql分组的纳闷信息表A项目表 Bid,id,name,A.id,age,项目名称sex姓名年龄性别项目1项目2项目3张三16男X1NUL

sql 分组的纳闷
信息表A                   项目表 B
id,                        id,
name,                    A.id,
age,                     项目名称
sex

姓名    年龄    性别    项目1    项目2   项目3
张三      16     男       X1      NULL   NULL
张三      16     男      NULL     X2     NULL
张三      16     男      NULL     NULL   X3

现在查询出来的结果是这种,如果去掉在一行结果中显示出来,不要分成三行。 SQL分组查询
[解决办法]

if object_id('[TB]') is not null drop table [TB]
go
create table [TB] (姓名 nvarchar(4),年龄 int,性别 nvarchar(2),项目1 nvarchar(4),项目2 nvarchar(4),项目3 nvarchar(4))
insert into [TB]
select '张三',16,'男','X1',null,null union all
select '张三',16,'男',null,'X2',null union all
select '张三',16,'男',null,null,'X3'



select 姓名,年龄,性别,max(项目1 ) as 项目1  ,max(项目2 ) as 项目2,max(项目3 ) as 项目3
from TB
group by  姓名,年龄,性别

/*
姓名年龄性别项目1项目2项目3
张三16男X1X2X3*/

热点排行