declare @str varchar(1000)
select @str=''
select @str=@str+','+cast(id as varchar)  from mytable where name='AAAAAAAA'
select @str=right(@str,len(@str)-1)

解决方案 »

  1.   

    必须要这样吗?因为我这个句子只是一个子查询,最后  as 给一个别名,最后取出的时候是直接取出的,不好意思,对SQL不是非常熟。
      

  2.   

    完善一下建自定义函数
    create function getstr(@id Nchar(10))
    returns Nvarchar(2000)
    as 
    begin
    declare @str Nvarchar(2000)
    set @str=N''
    select @str=@str+N','+cast(id as varchar) from mytable
    where name=@id
    set @str=right(@str,len(@str)-1)
    return @str
    end
    ------
    select dbo.getstr(name) from table
      

  3.   

    倒,错了:(子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
      

  4.   

    TO:lese9(乐色.Net) 你的出错语句是什么,贴出来看看。
      

  5.   

    其实我传入的NAME是 其他一个表的一个字段值,select dbo.getstr(otherTableName.columnName) from table我是 这样用的,select *,(select dbo.getstr(otherTableName.columnName) from table) as Tooltip from someTAble
      

  6.   

    select *,dbo.getstr(select columnName from otherTableName where....) as Tooltip from someTAble(select columnName from otherTableName where....)这个Select语句的结果只能是一条记录。
      

  7.   

    多条,我不太明白你的意图,
    你要的结果是类似这样吧,
    a   b       c      1,2,3
    aa   bb     cc      3,2,5
    如果你的表之间有关联字段那么可以
    select A.*,dbo.getstr(B.Name) from a left outer join B on A.关联字段=B.关联字段
      

  8.   

    等于说我是根据b.Name传入getstr中查询,因为可能符合条件的有好几个纪录,我需要把这些符合的纪录都组合成一个字符串,最后将这个字符串结果as成一个别名,最后在我的程序中调用。
      

  9.   

    你的Name字段到底在哪个表,可以把你的表结果更一下吗,再列个一两条数据。
      

  10.   

    你的Name字段到底在哪个表,可以把你的表结构列一下吗,再列个一两条数据。
      

  11.   

    name字段不在我查询的表中。
      

  12.   

    哈哈,你调用错了:
    用select dbo.getstr('AAAAAAAA')就可以了
      

  13.   

    我要把符合条件的合并到一条。等于说符合where字句的可能有很多条记录(SELECT中只查一个字段),我要将所有符合的记录中的ID字段连成一个字符串。
      

  14.   

    向 substring 函数传递了无效的 length 参数。我用   select dbo.getstr('AAAAAAAA')的方法。将AAAAAAA换成 TableName.ColumnName ,就出上面的错误
      

  15.   

    select someTAble.*,dbo.getstr(otherTableName.columnName) as Tooltip from someTAble,otherTableName where 这两个表怎么关联呵呵
      

  16.   

    建自定义函数
    create function getstr(@id Nchar(10))
    returns Nvarchar(2000)
    as 
    begin
    declare @str Nvarchar(2000)
    set @str=N''
    select @str=@str+N','+cast(id as varchar) from mytable
    where name=@id
    set @str=right(@str,len(@str)-1)
    return @str
    end
    ------你有没有看这个自定义函数,我真的要被你搞晕了。
      

  17.   

    select someTAble.*,dbo.getstr(otherTableName.columnName) as Tooltip from someTAble,otherTableName where 这两个表怎么关联呵呵 sky_blue(老衲) 这个我早就给过他了,他说:说我是根据b.Name传入getstr中查询,因为可能符合条件的有好几个纪录,我需要把这些符合的纪录都组合成一个字符串,最后将这个字符串结果as成一个别名,最后在我的程序中调用。
      

  18.   

    向 substring 函数传递了无效的 length 参数。我用   select dbo.getstr('AAAAAAAA')的方法。将AAAAAAA换成 TableName.ColumnName ,就出上面的错误---------------这个问题你先把自定义函数中的set @str=right(@str,len(@str)-1)这句注释掉