SQL Server:缺少带有IIf的FROM子句的查询

SQL Server:缺少带有IIf的FROM子句的查询,sql,iif,ms-query,Sql,Iif,Ms Query,我需要使用IIf语句,通过Microsoft查询界面运行T-SQL查询 当我运行查询时,我得到了错误Missing FROM子句。这很奇怪,因为那里有FROM子句。它失败是因为IIf,但我不知道为什么 守则: SELECT TABLE1.NUMBER, TABLE1.TEXT, TABLE1.INT, IIf( ( ( ((TABLE2.INT1-TABLE2.INT2) -TABLE

我需要使用
IIf
语句,通过Microsoft查询界面运行T-SQL查询

当我运行查询时,我得到了错误
Missing FROM子句
。这很奇怪,因为那里有
FROM
子句。它失败是因为
IIf
,但我不知道为什么

守则:

SELECT 
    TABLE1.NUMBER, 
    TABLE1.TEXT, 
    TABLE1.INT, 
    IIf(
        (
            (
                ((TABLE2.INT1-TABLE2.INT2) -TABLE2.INT3) -TABLE2.INT4
            ) > 0
        ), 
        (
            1
        ),  0) 
        as NEWCOL
FROM 
    DB.TABLEX TABLE1, 
    DB.TABLEY TABLE2
WHERE 
    TABLE2.NUMBER = TABLE1.NUMBER 
    AND TABLE1.NUMBER='991208000192'
数据库不是我的,所以我必须尽我所能工作。有人知道问题的原因吗?

中的SQLBase引用(greetite@twoleggedhorse)在SQLBase中没有函数IIF。它有一个函数IF,语法与IIF相似


尝试在SQL中使用@IF(条件、真值、假值)。

您使用的是什么rdbms?我相信
IIf
只在SQL Server 2012中可用,而且它也是一个MS访问功能。@BlueFoots我不确定它使用的是什么rdbms,因为我的访问非常非常有限。我尝试了
CASE
,但后来发现服务器没有使用该语句。您有太多多余的括号,因此该
IIf
语句不是很清楚。也许它会产生这个语法错误?您需要确定您拥有的数据库。这将允许您使用正确的函数。@bluefeet我打了一个电话,他们告诉我它是SQLBase,但他们不知道它的版本。。那有什么帮助吗?如果不能使用
IIf
Case
函数,我该如何进行此查询?