Excel MS Query - 如何在SQL查询中写入参数等于“”或显示全部

时间:2013-09-18 13:47:07

标签: sql sql-server excel excel-2010 ms-query

刚刚在MS-Query中编写了一个SQL脚本,我很难尝试让它工作。

我所追求的是相当于这个SQL where子句:

AND ((examplefield = @Para) or (@Para = ''))

因此,如果参数=字段中的某些内容,则只显示该参数=如果参数=空白则显示所有结果。

到目前为止,这是我的工作,如果我想选择一个特定的项目,现在我只需要包括额外的如果空白显示全部。

AND (`'Project Master List$'`.`Type of Work`= ?) 

遗憾的是,这不起作用。

AND ((`'Project Master List$'`.`Type of Work`= ?) OR (? = ""))

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

试一下?

Case When ?="" THEN
  'docode'

  WHEN ?="OtherValue" THEN
  'DoCode'
  Else
  'DoCode '
  End

IIF示例:

iif(?="", 
iif(?="OtherValue",ReturnSomethingTrue,ReturnSomethingFalse)
,ReturnSomethingTrue,ReturnsomethingFalse)

答案 1 :(得分:0)

我回顾了原来的问题并意识到我将where子句包装在错误的引号中。见下文

错误陈述

AND ((`'Project Master List$'`.`Type of Work`= ?) OR (? = ""))

正确陈述

AND (`'Project Master List$'`.`Type of Work`= ? OR ? = '')

一旦我在条款末尾做出改变,它就有效了。