【发布时间】:2018-01-10 05:21:09
【问题描述】:
我正在使用 Microsoft Report Builder 3.0 创建报告。我想在 WHERE 子句中添加一个附加条件取决于布尔参数 @param。在编程中,通过附加如下 SQL 字符串会很容易:
String sql = "SELECT * FROM tblA WHERE tblA.columnA = 'data' ";
if(param)
{
sql += "AND tblA.columnB IN (SELECT column FROM tbl)";
}
但是如何在纯 SQL 查询中做到这一点?我尝试使用 CASE 但似乎它不起作用。这是我尝试过的:
SELECT * FROM tblA
WHERE tblA.columnA = 'data'
CASE @param WHEN 1 THEN AND tblA.columnB IN (SELECT column FROM tbl) END
【问题讨论】:
-
使用
.而不是+ -
CASE无法正常工作,您可以发布您尝试过的内容吗? -
而不是直接将
@param写入sql 为什么不进行查询