这用法不是数据库的,让设计者自己写语句去

解决方案 »

  1.   

    郁闷的很呢,没办法上边给的数据库又不好动。
      

  2.   

     
    IF EXISTS (SELECT * FROM sys.objects WHERE NAME ='tb')
        DROP TABLE [tb]
    CREATE TABLE [tb]
    (
        [ID]  int  NULL ,
        [Title]  varchar(100)  NULL ,
        [Extent]  varchar(100) NULL
    )
    GO--插入测试数据
    INSERT INTO [tb] ([ID],[Title],[Extent])
        SELECT '1','公告1','1,2,3' UNION
        SELECT '2','公告2','2,4'
    GOIF EXISTS (SELECT * FROM sys.objects WHERE NAME ='tc')
        DROP TABLE [tc]
    CREATE TABLE [tc]
    (
        [ID]  int  NULL ,
        [name] varchar(100)  NULL   
    )
    GO
    INSERT INTO [tc] 
        SELECT '1','销售部'UNION
        SELECT '2','产品部'UNION
     SELECT '3','客服部'UNION
     SELECT '4','质检部'
    GO
     
    alter function get_str(@Extent varchar(100))
    RETURNs VARCHAR(100)
    as 
    begin
    declare @str varchar(100)
    select @str=isnull(@str,'')+','+name from tc where charindex(cast(ID as varchar(10)),@Extent)>0
    return stuff(@str,1,1,'')
    end select ID,[Title],[Extent],dbo.get_str([Extent]) from tb 
    ID          Title                                                                                                Extent                                                                                               
    ----------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
    1           公告1                                                                                                  1,2,3                                                                                                销售部,产品部,客服部
    2           公告2                                                                                                  2,4                                                                                                  产品部,质检部(2 行受影响)