CREATE PROCEDURE Select_Leader
AS
select  *   from leader 
where  exists  ( select 1
from leader as a   
where 
               ( DATEPART(Year ,GETDATE()) =DATEPART(Year ,This_Date))  
and a.[User_Name]=[User_Name])
             from leader )
GO

解决方案 »

  1.   

    exists(select ... from ...)中的 select列没有必要有多个。
    因为它本身就是为了判断是select ... from ...中是否有记录满足条件,而不是为了得到相关记录的某些列的值。
      

  2.   

    你的表述不是很清楚。建议你写出表结构和数据,以及你要的结果,大家帮你改写SQL语句。
      

  3.   

    小声问一下楼主:在exists 里的语句能执行吗?俺怎么看到一个select 对应了两个from leader..没有见过这种语法,本人比较菜,请大家不要笑。
      

  4.   

    可以运行的, 只是楼主将查询语句嵌套了三层, 而且在( DATEPART(Year ,GETDATE()) =DATEPART(Year ,This_Date)) 处加了一些不必要的括号, 所以看起来就有点乱。
      

  5.   

    楼主应该是想得到:select  * ,月累计=(select  Sum(100-User_Kf),处罚累计=(100-User_cf )  from leader as a where  exists (select * from leader where ( DATEPART(Year ,GETDATE()) =DATEPART(Year ,This_Date))  and [User_Name]=a.[User_Name])---不过where条件到底是怎么样就不太清楚了
      

  6.   

    不发意思上边发的不对我都晕了
    CREATE PROCEDURE Select_LeaderASselect *,累计=(select sum(100-User_Kf) from leader   where    DATEPART(Year ,GETDATE()) =DATEPART(Year ,This_Date)   and a.[User_Name]=[User_Name] )
    from leader  a
    GO
     上边是可以通过的
    问题是我有两个累计,和前边那个一样,加上的话会提示
    '
    没有用exists
    引入查询时在选择列表只能有一个表达式'
      

  7.   

    谢谢  filebat(Mark) 明白了,俺没有看清楚。^_^
      

  8.   

    月累计=(select  Sum(100-User_Kf),处罚累计=(100-User_cf )  
    from leader as a   
    where 
                   ( DATEPART(Year ,GETDATE()) =DATEPART(Year ,This_Date))  
    and a.[User_Name]=[User_Name])

    这个当然是不行的啦。
    你想让月累计等于哪个? sum(100-user_kf)还是处罚累计?楼主还是把需求及表结构贴出来吧。
      

  9.   

    CREATE PROCEDURE Select_LeaderASselect *,累计=(select sum(100-User_Kf) from leader  where    DATEPART(Year ,GETDATE()) =DATEPART(Year ,This_Date)   and a.[User_Name]=[User_Name] ),
                累计2=(select sum(100-User_Cf_This_Month) from leader  where    DATEPART(Year ,GETDATE()) =DATEPART(Year ,This_Date)   and a.[User_Name]=[User_Name] )
    from leader  a
    GO
    呵呵,通过了,主要是我都晕了让大家费神了
    结贴。
      

  10.   

    sql 版,是我见过最热的版。