删掉select *---1这个语句。

解决方案 »

  1.   

    select *---1这个语句语句毫无意义。
      

  2.   

    想返回哪一个查询结果,就保留哪一个select语句。其他的删掉。
      

  3.   

    我要在select × ---1里面取得一些临时表,
    我试过合并两个select,但基本上很难。
      

  4.   

    使用代参数的sp
    在sp内部根据parameter来做判断,以便输出对应的结果
      

  5.   

    看来我还是没有说清楚。
    下面在说一个例子
    select @aaa = 'dddd'            ---1
    select * from t1 where cc =@aaa ---2
    诸如此类。
    不知道有解否。
      

  6.   

    select @aaa = 'dddd'            修改为 set @aaa = 'dddd'
      

  7.   

    如果是变量到无所谓,按楼上的说。
    如果我第一个select字句要形成一个虚表该如何做?
      

  8.   

    select * into 新表 from 表
      

  9.   

    我的语句详细如下
    select * into tmpa from table1
    select * from table2 left join tmpa on tmpa.a = table2.b
    在sql server的查询分析器中调用此存储过程没有什么问题,能够返回结果集,
    但我在vb中始终得不到结果,
    我试着修改过存储过程中如果只有一个select字句是能够返回的,说明我在vb中的代码并没有问题。
    如果把两个select语句合并,我相信也能够解决,但现在的问题是合并起来可能非常麻烦。
    请问这个问题是否有解,如没有解我也只能另找别路了。
    多谢。
     
     × \
      

  10.   

    你有没有 SET NOCOUNT ON
      

  11.   

    没关系,它会返回最后一个select语句。
      

  12.   

    liujianjun_(流星尔) 
    在vb中,执行后,自动返回后一条select
      

  13.   

    select @aaa = 'dddd'            ---1
    select * from t1 where cc =@aaa ---2select 在1中是赋值,相当于set,在2中才是返回一个记录集,所以肯定也只会返回2的结果,不会返回1
      

  14.   

    select * into tmpa from table1
     select * from table2 left join tmpa on tmpa.a = table2.b
    ------------------------------------------------------------
    上述语句只能执行一次,再执行会保错,因为产生的tmpa是实表。
    可以改为产生临时表:
    select * into #tmpa from table1
    select * from table2 left join #tmpa on #tmpa.a = table2.b
    ------------------------------------------------------------
    但从效率考虑,应该这样更好:
    select * from table2 left join table1 on table1.a = table2.b
    or
    select * from table2 left join (select somecolumns... from table1) a on a.a = table2.b
      

  15.   

    综合楼上各位,加上我自己的实验,得出结论:
    如果使用多个select 语句,其中没有into 子句的话,vb调用存储过程返回的是最后一个select 的结果,
    如果有into字句,则vb调用存储过程后将不能得到resordset,这时要打开set nocount on.
    感谢。