select aaa,bbb from table1 where 
(select part_code from #code_list) GROUP BY aaa,bbb实现这样思想的语句在存储过程里面怎么构造呢?
有一个想法是:
先用一个字符串把  select part_code from #code_list 的值附出来。然后执行
但是我现在的select aaa,bbb from ......语句其实是很长的,如果还要加上里面的字符串,可能4000个字符长度不够用啊?

解决方案 »

  1.   

    select part_code from #code_list part_code 里面的值都是些条件语句
      

  2.   

    --tryselect aaa, bbb from table1 where part_code in
    (select distinct part_code from #code_list) 
    GROUP BY aaa,bbb
      

  3.   

    看的迷糊不知道where条件里面的跟你的查询有什么联系
      

  4.   

    declare @str varchar(8000)
    select @str='select aaa,bbb from table1 where'+ part_code from #code_list
    set @str=@str+'GROUP BY aaa,bbb'
    exec(@str)
      

  5.   

    select part_code from #code_list  得到的结果为
    part_code like '131%' or
     part_code like '133%' or
     part_code like '441%' or
     part_code like '443%' or
     part_code like '447%' or
     .......... 
    part_code like '678%' 
    因为允许用户批量输入part_code 所以我构造了一个#code_list
      

  6.   

    就像 gc_ding(施主,给个妞泡好么) ( ) 这样吗?
      

  7.   

    --trydeclare @sql varchar(8000)
    set @sql='select aaa, bbb from table1 where '
    select @sql=@sql+replace(part_code, '''', '''''')+' ' from #code_list
    set @sql=@sql+' GROUP BY aaa,bbb'exec(@sql)