数据更新,列可不可以"选"

blueshu 2003-05-08 07:50:44
我有表table1,结构如下
序号 姓名 身份
1 王 干部
2 李 干部
3 赵 工人
现有另一表table2,结构如下
干部  工人
2 1
要求根据table1,用一条sql语句生成table2
不知有没有这个可能
...全文
30 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
select (count(*) from table1 where 身份='干部') 干部,
(count(*) from table1 where 身份='工人') 工人 into table2
select * from table2
回复
CrazyFor 2003-05-08

select
sum(case when 身份='干部' then 1 else 0 end) 干部,
sum(case when 身份='工人' then 1 else 0 end) 工人
into table2 --如果TABLE2表还不存在加INTO子句,
from table1
回复
yoki 2003-05-08
如果你的表中身份是固定的列,那么用happydreamer(偶很菜) 的,如果不确定就用我的:

declare @ table (序号 int, 姓名 varchar(20), 身份 varchar(50))
insert into @ values(1, '王', '干部')
insert into @ values(2, '李', '干部')
insert into @ values(3, '赵', '工人')
insert into @ values(4, '赵', '领导')

select count(身份) as 数量,身份 into temp from @ group by 身份

declare @sql varchar(8000)
set @sql = 'select '
select @sql = @sql + ',sum(case 身份 when '''+身份+''' then 数量 else 0 end) as '+身份
from (select distinct 身份 from temp) as a
select @sql='select '+right(@sql,len(@sql)-8)
select @sql = @sql+' from temp '
exec(@sql)

drop table temp
回复
yoki 2003-05-08
declare @ table (序号 int, 姓名 varchar(20), 身份 varchar(50))
insert into @ values(1, '王', '干部')
insert into @ values(2, '李', '干部')
insert into @ values(3, '赵', '工人')
insert into @ values(4, '赵', '领导')

select count(身份) as 数量,身份 into temp from @ group by 身份

declare @sql varchar(8000)
set @sql = 'select 1 '
select @sql = @sql + ',sum(case 身份 when '''+身份+''' then 数量 else 0 end) as '+身份
from (select distinct 身份 from temp) as a
select @sql = @sql+' from temp '
exec(@sql)

drop table temp
回复
happydreamer 2003-05-08
select sum(case 身份 when '干部' then 1 else 0 end) as 干部,
sum(case 身份 when '工人' then 1 else 0 end) as 工人
into table2
from table1
回复
happydreamer 2003-05-08
select sum(case 身份 when '干部' then 1 else 0 end) as 干部,
sum(case 身份 when '工人' then 1 else 0 end) as 工人
into table2
from table1
回复
blueshu 2003-05-08
各位我忘了,还要按条件更新啊
如table1的序号为单位
要按单位来更新怎么?
table2增加一单位字段
此时怎办?
回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-08 07:50
社区公告
暂无公告