求一SQL语句(200)

  • 主题发起人 主题发起人 tjh2004
  • 开始时间 开始时间
T

tjh2004

Unregistered / Unconfirmed
GUEST, unregistred user!
如下:2005-9-9 DEC 12005-9-10 DEC 22005-9-9 SEC 12005-9-10 SEC 2要求只用一SQL语句显示如下2005-9-9 DEC SEC 12005-9-10 DEC SEC 2帮帮忙!
 
Select Data字段, Dec字段, min(最后一个字段)From 表group by Data字段, Dec字段
 
意思好像没有表达清楚~~
 
假设 A B C2005-9-9 DEC 12005-9-10 DEC 22005-9-9 SEC 32005-9-10 SEC 2SELECT B, MIN(C) AS CFROM Table1GROUP BY B
 
他不继续,我就只能猜了。下面SQL是一种思路,或许对你有用Select A, B, (Case when b='DEC' Then C1 Else C2 End) CFrom (Select A, B, Max(C) C1, Min(C) C2 From Table1 )X
 
不好意思啊各位!这几天上不了网我改了一下题目!写出了,是道面试题!
 
其实是个交叉表,不过又包含分组!
 
飘过。看错。
 
记号,等有时间再想
 
可以用动态的交叉表:http://www.itstudy.net/html/200904/6/20090406124311.htm 参考
 
--建立测试环境create table tmp(A varchar(20),B char(3),C int)insert Into tmp(A,B,C)select '2005-9-9','DEC',1union select '2005-9-10', 'DEC',2Union select '2005-9-9', 'SEC',1union select '2005-9-10', 'SEC',2--根据要求过滤数据select a.a,a.c,a.DEC,b.SECfrom(Select A,C,Case B when 'DEC' then 'DEC' end DECfrom tmp) a inner join (Select A,C,Case B when 'SEC' then 'SEC' end SEC from tmp ) b On a.A = b.A and a.c =b.Cwhere a.DEC is not null and b.SEC is not nullorder by a.c
 
各位是一条sql语句!是道面试题相信对大家有帮助
 
不能使用硬代码
 
select column1,max(case when column2='DEC' then 'DEC' end) column11,max(case when column2='SEC' then 'SEC' end) column12,column3 from tablenamegroup by column1,column3
 

Similar threads

回复
0
查看
676
万一
D
回复
0
查看
767
DelphiTeacher的专栏
D
D
回复
0
查看
809
DelphiTeacher的专栏
D
后退
顶部