Cross发布在这里:
我使用ADO从MS Access检索数据到Excel,我想在我的查询的SELECT部分附加一个Iif语句.我的SQL字符串存储在文本文件中,任何参数都通过ADO追加.
我知道如何在WHERE子句中追加参数,甚至可以在SELECT语句中附加参数,如下所示:
SELECT BA, Iif(QA=[@somestring],[@somestring2], [@somestring3])
FROM myData
WHERE BA = 'some person'
Run Code Online (Sandbox Code Playgroud)
但我想要完成的是将占位符[@somestring]转换为可变长度的Iif语句,例如:
SELECT BA, [@somestring]
Run Code Online (Sandbox Code Playgroud)
占位符转换为我使用函数构建的字符串:
Iif(QA='Jon Doe', 'Jon', Iif(QA='Jane Doe', 'Jane', 'Nobody')).
Run Code Online (Sandbox Code Playgroud)
现在,我得到的结果是我传递给填充整个字段的参数的文字字符串.因此,Iif语句实际上是为每条记录写出来的,而不是由SQL进行评估.
我正在尝试做什么,或者SQL是否需要在初始命令中预定义的Iif语句的字段?
即,Iif(QA = [@ somestring],[@ sometstring2],[@ somestring3])