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
函数,我该如何进行此查询?