2015-09-30 179 views
2

我试图访问IFF查询转换为SQL Server查询等效IFF的

SELECT blah blah , 
    IIf([stock]![supplier]=[pos]![supplier],"Preferred"," ") AS Preferrednew 
FROM blah blah 

在访问这会给在一个名为Preferrednew列首选一个值,条件为真。

我已经转换代码..

SELECT blah blah , 
CASE WHEN ([stock.supplier] = [pos.supplier]), 'test', 'test2' AS [preferrednew] 
FROM blah blah 

,但我得到的错误

附近有语法错误 ''

什么是正确的格式?

回答

5
SELECT blah blah , 
    CASE WHEN stock.supplier = pos.supplier THEN 'test' 
    ELSE 'test2' 
    END AS [preferrednew] 
FROM blah blah 

请记住,SQL服务器2012+支持IIF

+0

完美,谢谢。是的,我尝试过IIF,但我们在2012年之前 - 当我们升级数据库时,情况仍然有效? – Emma

+0

@Emma CASE当然会工作,IIF只是语法糖:) – lad2025

+0

再次感谢您的迅速帮助:) – Emma