一个简单的SQL语句,问题?在线等待!
有一个表(xs):字段如下:
YEAR MONTH JE TYPE
2005 1 10 0
2005 1 15 0
2005 1 13 0
2005 1 -8 1
2005 2 -12 1
2005 1 -15 1
用什么样的SQL语句才能实现如下的要求呢?
YEAR MONTH JE TKJE TYPE
2005 1 10 0 0
2005 1 15 0 0
2005 1 13 0 0
2005 1 0 -8 1
2005 2 0 -12 1
2005 1 0 -15 1
要求是根据TYPE 的值为1的分解到“TKJE”中来呢?
问题点数:99、回复次数:13Top
1 楼filebat(Mark)回复于 2005-06-23 10:37:00 得分 0
--抢先贴个数据
if object_id('ta') is not null drop table ta
go
create table ta(year int, month int, je int, type int)
insert ta select 2005, 1, 10, 0
union all select 2005, 1, 15, 0
union all select 2005, 1, 13, 0
union all select 2005, 1, -8, 1
union all select 2005, 2, -12, 1
union all select 2005, 1, 15, 1
Top
2 楼paoluo(一天到晚游泳的鱼)回复于 2005-06-23 10:39:43 得分 10
Select
YEAR,
MONTH,
(Case When TYPE=1 Then 0 Else JE End) As JE,
(Case When TYPE=1 Then JE Else 0 End) As TKJE,
TYPE
from xsTop
3 楼filebat(Mark)回复于 2005-06-23 10:39:53 得分 10
select year, month, je=(case type
when 1 then 0
else je end),
tkje=(case type
when 1 then je
else 0 end), type
from taTop
4 楼phantomMan()回复于 2005-06-23 10:40:07 得分 61
select [year],
[month],
Case type when 0 then JE else 0 end as JE,
Case type when 1 then JE else 0 end as TKJE,
Type
from XS
Top
5 楼paoluo(一天到晚游泳的鱼)回复于 2005-06-23 10:43:38 得分 9
--建立测试环境
If OBJECT_ID('xs') Is Not Null Drop Table xs
GO
Create Table xs(YEAR Int,MONTH Int,JE Int,TYPE Int)
Insert xs Select 2005, 1, 10, 0
Union All Select 2005, 1, 15, 0
Union All Select 2005, 1, 13, 0
Union All Select 2005, 1, -8, 1
Union All Select 2005, 2, -12, 1
Union All Select 2005, 1, 15, 1
--测试
Select
YEAR,
MONTH,
(Case When TYPE=1 Then 0 Else JE End) As JE,
(Case When TYPE=1 Then JE Else 0 End) As TKJE,
TYPE
from xs
--删除测试环境
Drop Table xs
--结果
/*
YEAR MONTH JE TKJE TYPE
2005 1 10 0 0
2005 1 15 0 0
2005 1 13 0 0
2005 1 0 -8 1
2005 2 0 -12 1
2005 1 0 15 1
*/Top
6 楼filebat(Mark)回复于 2005-06-23 10:44:08 得分 0
游鱼真是快啊...
我昨天专家分突破了一千大关, 高兴, 庆祝一下.Top
7 楼hsj20041004(光芒)回复于 2005-06-23 10:44:48 得分 9
select YEAR,MONTH,JE=case type when 0 then je else 0 end,
TKJE =case TYPE when 1 then je else 0 end ,type from xsTop
8 楼softj(天地客人<最近很迷茫>)回复于 2005-06-23 10:49:28 得分 0
update xs set TKJE = je, je = 0 where TYPE =1Top
9 楼hsj20041004(光芒)回复于 2005-06-23 10:51:46 得分 0
好热闹!!Top
10 楼jsjkhanwei(小伟)回复于 2005-06-23 10:59:41 得分 0
感谢各位,我正在测试,一会加分Top
11 楼paoluo(一天到晚游泳的鱼)回复于 2005-06-23 11:05:44 得分 0
filebat(Mark),那还不去开贴散分,^_^Top
12 楼paoluo(一天到晚游泳的鱼)回复于 2005-06-23 11:19:26 得分 0
楼主,没有搞错吧?!!!!!Top
13 楼paoluo(一天到晚游泳的鱼)回复于 2005-06-23 11:21:03 得分 0
我和filebat(Mark)写的不对吗??请就你的给分给出你的解释。Top




