如何实现此SQL存储(100分)

  • 主题发起人 主题发起人 aggile
  • 开始时间 开始时间
A

aggile

Unregistered / Unconfirmed
GUEST, unregistred user!
对表如何进行SQL存储查询


原表:PCODE PDATETIME
11111 2003-01-28 04:30:09
11111 2003-01-28 18:30:00
22222 2003-01-28 04:31:09
33333 2003-01-28 04:32:04
11111 2003-02-09 03:35:25
用SQL存储可查询出如下:
11111 22222
2003-01-28 04:30:09 04:31:09
2003-01-28 18:30:00
怎么样能实现,那位高手给个指点呀
 
33333呢?
 
select PDATETIME,(case when pcode = '11111' then PCode else end) '11111',(case when pcode = '22222' then PCode else end) '22222',(case when pcode = '33333' then PCode else end) '33333'
 
运行会提示END附近语法错误
 
33333也是按11111.22222这样查出来呀,我只是略写了
 
select PDATETIME,(case when pcode = '11111' then PCode else end) 'a11111',(case when pcode = '22222' then PCode else end) 'a22222',(case when pcode = '33333' then PCode else end) 'a33333'
 
还是一样的呀
 
哪位高手再指点一下呀
 
你這個那個時間不是唯一的,不過用游標很容易實現的.
 
具体如何实现呀
 
如果pcode中的值少且是固定的话就用case when 的格式简便,如果pcode不固定并且值会随时添加的话还是用游标的好,首先把你所有的pcode取出来distinct查询出来弄到一个临时表中,然后用游标进行处理,把pcode中的值作为字段名出现在查询中,思路就是这样不难的,要是不会用游标的话,查一下帮助就出来啦
 
后退
顶部