Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在Where子句中使用参数_Sql_Intersystems Cache - Fatal编程技术网

Sql 在Where子句中使用参数

Sql 在Where子句中使用参数,sql,intersystems-cache,Sql,Intersystems Cache,我还没有找到一个现有的线程正是我需要的。我有一个报告工具,允许我向用户请求输入(客户端),并将其作为参数传递给SQL 可以有多个客户机,也可以是“全部”。如果参数包含“全部”,我需要选择所有记录。如果参数不包含“All”,我只需要选择参数中的记录 我发现了一些解决方案,如果参数只有一个值,但我的是一个列表,需要使用'in'谓词,那么这些解决方案就可以工作。(我想) 有什么想法吗?在不知道您的数据模型的情况下,应该执行以下操作: SELECT * FROM clients WHERE ID IN

我还没有找到一个现有的线程正是我需要的。我有一个报告工具,允许我向用户请求输入(客户端),并将其作为参数传递给SQL

可以有多个客户机,也可以是“全部”。如果参数包含“全部”,我需要选择所有记录。如果参数不包含“All”,我只需要选择参数中的记录

我发现了一些解决方案,如果参数只有一个值,但我的是一个列表,需要使用'in'谓词,那么这些解决方案就可以工作。(我想)


有什么想法吗?

在不知道您的数据模型的情况下,应该执行以下操作:

SELECT *
FROM clients
WHERE ID IN (@clients) OR 'All' IN @clients

在不了解数据模型的情况下,应该执行以下操作:

SELECT *
FROM clients
WHERE ID IN (@clients) OR 'All' IN @clients

当您谈到Caché时,这意味着您甚至有多种执行查询的方式。还有一些方法可以实现它。我建议对
所有记录和所选记录使用不同的查询。您可以使用or谓词。

当您谈到Caché时,这意味着您甚至可以使用多种方式来执行查询。还有一些方法可以实现它。我建议对
所有记录和所选记录使用不同的查询。您可以使用or谓词。

请标记您的RDBMS-MySql?Sql Server?通常,您应该处理代码中列出的参数,如。否则,我很少建议您选择动态SQL。这可能需要您的报告工具的功能。这是什么?Sanit-Intersystems Cache,我很想看看动态SQL建议rd——我不认为这是众所周知的。它被称为VisualDataMiner,有一些功能可以处理这个问题,但我希望在服务器端完成,这就是为什么我希望找到一个SQL解决方案请标记您的RDBMS-MySql?Sql Server?通常,您应该处理代码中列出的参数,如。否则,我很少建议您选择动态SQL。这可能需要您的报告工具的功能。这是什么?Sanit-Intersystems Cache,我很想看看动态SQL建议rd——我不认为这是众所周知的。它被称为VisualDataMiner,它确实有一些功能来处理这个问题,但我希望这是在服务器端完成的,这就是为什么我希望找到一个像champ一样工作的SQL解决方案@CoSpringsGuy很高兴我能帮上忙。在这种情况下,您可以/应该将此答案标记为可接受的答案,以供将来参考。工作得像个冠军@CoSpringsGuy很高兴我能帮上忙。在这种情况下,您可以/应该将此答案标记为已接受的答案,以供将来参考。