CREATE PROC dbo.UP_ST_InCome_GetListByDate7InComeFinishFlag@ShopID INT,
@UserID VARCHAR(50),@BeginTime VARCHAR(50),
@EndTime VARCHAR(50),@InComeFinishFlag VARCHAR(30)
AS
Declare @tjbl VARCHAR(30)
Declare @userqxvalue VARCHAR(30)
IF @BeginTime = ''
SET @BeginTime = '1949-10-1'
IF @EndTime = ''
SET @EndTime = '2050-10-1' IF @InComeFinishFlag = '0'
SET @InComeFinishFlag = '%' IF @UserID = (SELECT MIN(UserID) FROM Sys_User WHERE ShopID = @ShopID AND UserDelFlag = '0')
SET @UserID = '%'
if @userqxvalue=''
set @userqxvalue =(select userqx FROM Sys_User WHERE UserID = @UserID)
if userqxvalue='0'
 begin
 set @tjbl  =' AND UserID LIKE'+ @UserID
 end SELECT * FROM ST_InCome
  WHERE InComeFinishFlag like @InComeFinishFlag
AND InComeDelFlag = '0'
AND  InComeDate BETWEEN @BeginTime AND DATEADD(DAY,1 ,CONVERT(DATETIME, @EndTime))
AND ShopID = @ShopID
+@tjbl ORDER BY InComeDate DESC
GO

解决方案 »

  1.   

    if userqxvalue='0'
     begin
    set @tjbl =' AND UserID LIKE'+ @UserID 
     end
    @userqxvalue='0'
      

  2.   

    if @userqxvalue=''
    set @userqxvalue =(select userqx FROM Sys_User WHERE UserID = @UserID)
      

  3.   

    CREATE PROC dbo.UP_ST_InCome_GetListByDate7InComeFinishFlag@ShopID INT,
    @UserID VARCHAR(50),@BeginTime VARCHAR(50),
    @EndTime VARCHAR(50),@InComeFinishFlag VARCHAR(30)
    AS
    Declare @tjbl VARCHAR(30)
    Declare @userqxvalue VARCHAR(30)
    IF @BeginTime = ''
    SET @BeginTime = '1949-10-1'
    IF @EndTime = ''
    SET @EndTime = '2050-10-1'IF @InComeFinishFlag = '0'
    SET @InComeFinishFlag = '%'IF @UserID = (SELECT MIN(UserID) FROM Sys_User WHERE ShopID = @ShopID AND UserDelFlag = '0')
    SET @UserID = '%'
    if @userqxvalue=''
    set @userqxvalue =(select userqx FROM Sys_User WHERE UserID = @UserID)
    if userqxvalue='0'
    --> 这里 userqxvalue 不是声明的变量,不能这样用,可以先查询获得 userqxvalue 的值,然后再判断
     begin
    set @tjbl =' AND UserID LIKE'+ @UserID 
     endSELECT * FROM ST_InCome
    WHERE InComeFinishFlag like @InComeFinishFlag
    AND InComeDelFlag = '0'
    AND InComeDate BETWEEN @BeginTime AND DATEADD(DAY,1 ,CONVERT(DATETIME, @EndTime))
    AND ShopID = @ShopID
    +@tjblORDER BY InComeDate DESC
    GO
      

  4.   

    if userqxvalue='0'应该是
    if @userqxvalue='0'
      

  5.   

    select @userqxvalue =userqx FROM Sys_User WHERE UserID = @UserID)
      

  6.   


    if @userqxvalue='0'
     begin
    set @tjbl =' AND UserID LIKE'+ @UserID 
     end