易截截图软件、单文件、免安装、纯绿色、仅160KB

sql case when问题

现有一张统计表
shop_id Total yeartype time
  1      10      'ty'  2009-12-01
  1      25      'ly'  2008-12-01
  2      15      'ty'  2009-12-01
  2      32      'ly'  2008-12-01
  3      200    'ty'  2009-12-01
  3      23      'ly'  2008-12-01

现在的需求是需要计算出去年和今年的total显示在两列中
列如:
thisyeartotal  lastyeartotal
    10            25
    15            32
    200          23

求SQL语句,case when + group by 条件可否是数据集?请教各位

不知其解的是
Case Total
When 13 then Total*1 else 14 end 'lastyear',
Case Total
When 14 then Total else 13 end 'this year',
这里的能不能是动态的数据集?

写错了

SQL code:
--> 测试数据:[TB]
if object_id('[TB]') is not null drop table [TB]
create table [TB]([shop_id] int,[Total] int,[yeartype] varchar(2),[time]


相关问答:

如果写递归sql语句 - MS-SQL Server / 应用实例

有两个同样的表结构 
表结构如下:
  id(序号) parentid (父结点序号) name(结点名称)
 表1 记录 1 0 aaa
  2 ......

sql性能求助 - MS-SQL Server / 疑难问题

场景如下:
客户把备份好的数据库,发给我,我在本机还原后,运行写好的存储过程,比较快,并且在实施那边运行同样比较快。但是当实施在客户那边运行的时候速度就非常的慢,时间超出了程序的时间限制。远程在客户那 ......

sql 函数问题 - MS-SQL Server / 应用实例

sql我想得到一字符串为:
sldkf|||sdeww
erkv|||rltdk
jemcl|||ligf
就是|||后面的字符有什么函数能得到吗?是在sql语句写的,不是在页面写的,那位高手来指教下,新手,谢谢
晕今天不是写了么

select parsen ......

求一条SQL - MS-SQL Server / 疑难问题

--drop table #T1
--drop table #T2
create Table #T1(ID int,
QueryID nvarchar(20),
ResultID1 nvarchar(20),
ResultID2 nvarchar(20))
create Table #T2(SortNo int,
QueryID nvarchar(20),
ResultID1 nv ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号