新足迹

 找回密码
 注册

精华好帖回顾

· 芋头糕 (2010-11-27) 高寿财 · 大头家常菜 -- 满族小吃萨其马 (2008-2-3) datou2z
· 参加活动-- Corolla 之糟心轮胎 (2013-6-12) amber2009 · 远在8000多公里外的第二故乡- 墨尔本,Frankston (2010-9-13) Lisa
Advertisement
Advertisement
查看: 1373|回复: 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
返回顶部