新足迹

 找回密码
 注册

精华好帖回顾

· 心灵涅磐之旅----拾掇前生遗落的南半球回忆 (2010-3-6) 一.休 · 说说我的用欧舒丹,Kiehl's,碧欧泉和其他吧 (2008-9-9) luftluft
· 回槽记 (2010-10-19) athleticfrog · 新人报道帖!发一些之前拍的片子,跟各位来分享交流,更新至3月27日。(52楼有更新) (2013-3-25) 地球邮差
Advertisement
Advertisement
查看: 1372|回复: 5

Sybase sql 问题 [复制链接]

发表于 2011-8-10 15:57 |显示全部楼层
此文章由 alee79 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 alee79 所有!转贴必须注明作者、出处和本声明,并保持内容完整
sybase 中这样一个语句:
SELECT DISTINCT( cafield1 ),
               cafield2
FROM   syca_controlcode
WHERE  cakeyname = 'CFDCOLS'
       AND cafield1 = 'ControlCode'
       AND calastupdaction != 'D'

返回结果如下:
cafield1         cafield2
ControlCode      syca_controlcode
ControlCode      syck_controlkey

如果想得到下面的效果,sql应该怎么写?
cafield1       cafield2
ControlCode    syca_controlcode, syck_controlkey

[ 本帖最后由 alee79 于 2011-8-10 15:33 编辑 ]
Advertisement
Advertisement

参与宝库编辑功臣

发表于 2011-8-10 16:19 |显示全部楼层
此文章由 bffbffbff 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bffbffbff 所有!转贴必须注明作者、出处和本声明,并保持内容完整
select tem.cafield1 , LEFT(tem.cafield2,LEN(tem.cafield2)-1) as cafield2
from
(
        select distinct cafield1 ,
        (
                Select t.cafield2 + ',' AS [text()]
                From syca_controlcode  t
                Where t.cafield1= a.cafield1
                For XML PATH ('')
        ) as cafield2
        FROM   syca_controlcode a
        WHERE  a.cakeyname = 'CFDCOLS'
       AND a.cafield1 = 'ControlCode'
       AND a.calastupdaction != 'D'
) tem

评分

参与人数 1积分 +2 收起 理由
alee79 + 2 谢谢奉献

查看全部评分

永远的junior programmer

参与宝库编辑功臣

发表于 2011-8-10 16:31 |显示全部楼层
此文章由 bffbffbff 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bffbffbff 所有!转贴必须注明作者、出处和本声明,并保持内容完整
倒,上面的script是MS SQL的, lz最好把标题改下表明是sybase的

发表于 2011-8-10 16:33 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看起来是个怪怪的pivot, 建议你先看看pivot /
但愿sybase里支持

参与宝库编辑功臣

发表于 2011-8-10 16:35 |显示全部楼层
此文章由 bffbffbff 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bffbffbff 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 于 2011-8-10 15:33 发表
看起来是个怪怪的pivot, 建议你先看看sql 里的pivot


我觉得lz说的是把每个group下的多个row里的colume value给concatenate起来, 用pivot的话不好说,肯定得是个dynamic query, 不知道sybase里支持dynamic query不
永远的junior programmer

发表于 2011-8-10 17:34 |显示全部楼层

回复 bffbffbff 5# 帖子

此文章由 alee79 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 alee79 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我就是想要这个效果。
Advertisement
Advertisement

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部