如果在SQL中出现ELSE错误

时间:2013-03-12 21:37:32

标签: sql sql-server sql-server-2008 if-statement

这是我的代码;它应该打印'BUY'但打印'NONE'。不提出任何想法。

怎么办?

DECLARE @avg8 as decimal(18,4)
DECLARE @avg3 as decimal(18,4)
SET @avg8=32.4
SET @avg3=31.5

    IF @avg3 >= @avg8
        BEGIN
        PRINT N'BUY';
        END
    ELSE
    BEGIN
        IF @avg3<@avg8
            BEGIN       
            PRINT N'SELL';
            END
        ELSE
            BEGIN
            PRINT N'none';
            END
    END

请帮忙。

2 个答案:

答案 0 :(得分:0)

怎么样? @avg3小于@avg8

DECLARE @avg8 as decimal(18,4)
DECLARE @avg3 as decimal(18,4)
SET @avg8=32.4
SET @avg3=31.5

IF @avg3 <= @avg8
    BEGIN
    PRINT N'BUY';
    END
ELSE
BEGIN
    IF @avg3>@avg8
        BEGIN       
        PRINT N'SELL';
        END
    ELSE
        BEGIN
        PRINT N'none';
        END
END

答案 1 :(得分:0)

为什么要打印买 - 你有这个:     SET @ avg8 = 32.4     SET @ avg3 = 31.5

IF @avg3 >= @avg8
    BEGIN
    PRINT N'BUY';

其中@ avg3显然不大于@ avg8