--查询可以写个自定义函数
create function f_str(@id int)
returns varchar(8000)
as
begin
declare @r varchar(8000)
set @r=''
select @r=@r+','+rtrim(E)
from table2
where D=@id
return('('+stuff(@r,1,1,'')+')')
end
goselect 字段1=A,字段2=B,字段3=dbo.f_str(A),字段4=C
from table1

解决方案 »

  1.   

    点击e1 或者e2 可以取得在table2表中对应的记录这个是程序设置的问题,与数据库无关
      

  2.   

    不好意思,表结构俺叙述有点问题table 1
    A(本身id)    B      C      
        1         B11      C11    
        2         B12      C12    
        3         B13      C13     
    TABLE 2
    D(本身id)   E      F     关联字段(A)       
    1             E21    F21      1
    2             E22    F22      1要得到如下结果
    字段A     字段B         字段E       字段C        
    1          B11      (E21,E22)        C11
    2          B12                       C12 
     字段E中的每个内容,要关联到 table2 中本身记录的id 点击E21 或者,E22 可以取得在table2表中对应的记录
      

  3.   

    --晕,改一下就成了嘛
    create function f_str(@id int)
    returns varchar(8000)
    as
    begin
    declare @r varchar(8000)
    set @r=''
    select @r=@r+','+rtrim(E)
    from table2
    where [关联字段(A)]=@id
    return('('+stuff(@r,1,1,'')+')')
    end
    goselect 字段1=A,字段2=B,字段3=dbo.f_str(A),字段4=C
    from table1
      

  4.   

    再请教下能不能用两条或者几条sql语句解决,因为用函数的话我在最终的程序打包安装过程中估计要很不好做,所以想求sql语句解决谢谢了