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