SELECT [GroupID] FROM  [sys_Group] where  G_Delete=0 and G_ParentID=1 查询结果:
6
7
8先要通过sql语句查询列出这样的结果:
dundiandanwei =6 or  dundiandanwei =7 or dundiandanwei =8 请问该怎么写,谢谢:)

解决方案 »

  1.   

    try
    declare @s varchar(100)
    SELECT 
      @s=isnull(@s+' or ','')+' dundiandanwei = '+ltrim([GroupID]) FROM [sys_Group] where G_Delete=0 and G_ParentID=1
    select @s
      

  2.   

    楼上的正解,我怎么放到sql语句中使用呢,我代码中必须放sql语句或者sql函数呢
    declare @s varchar(100)
    SELECT 
      @s=isnull(@s+' or ','')+' dundiandanwei = '+ltrim([GroupID]) FROM [sys_Group] where G_Delete=0 and G_ParentID=1
    select @s
      

  3.   

    谢谢了,我按你的方法写成函数就可以了:)set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    goALTER function [dbo].[f_str](@ParentID int) returns varchar(100)
    as
    begin
        declare @str varchar(100)
    SELECT 
      @str=isnull(@str+' or ','')+' dundiandanwei = '+ltrim([GroupID]) FROM [sys_Group] where G_Delete=0 and G_ParentID=@ParentID    return @str
    end
    然后带代码中调用:SELECT [dbo].[f_str] (1)即可搞定:)