繁体   English   中英

SQL 不同的查询取决于参数? [复制]

SQL different queries depending on parameter? [duplicate]

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

这个问题在这里已经有了答案:

我有一个相同的查询,但需要根据哪个参数进行一些更改。 我怎样才能做到这一点?

就像是

CASE WHEN @LocalDetailLevel = 'master' THEN 
BEGIN
...
END
CASE WHEN @LocalDetailLevel = 'size' THEN 
BEGIN
...
END
CASE WHEN @LocalDetailLevel = 'color'
BEGIN
...
END

然后在每个开始/结束语句中都有一个完整的查询,其中包含 select 和 from 以及所有内容。 这是正确的方法吗? 还是我必须使用 if 语句? 如果是这样,它的语法是什么?

另外,有谁知道 sql 查询将如何为此优化? 它会仅针对其中一个参数/查询进行优化吗?

1 个回复

CASE是一个表达式,因此不用于控制逻辑流。

CASE 可用于任何允许有效表达式的语句或子句。 例如,您可以在 SELECT、UPDATE、DELETE 和 SET 等语句中以及在 select_list、IN、WHERE、ORDER BY 和 HAVING 等子句中使用 CASE

对于您的问题,您将使用IF

语法非常相似...

IF @LocalDetailLevel = 'master' 
BEGIN
...
END

IF @LocalDetailLevel = 'size'
BEGIN
...
END
1 参数 1 sql 查询 [重复]

这个问题在这里已经有了答案: 14 小时前关闭。 参考:什么是变量 scope,哪些变量可以从哪里访问,哪些是“未定义变量”错误? (3 个回答) 参考 - 这个错误在 PHP 中是什么意思? (34 个回答) 唔。 打扰一下? 警告:mysqli_query() 期望参数 1 为 mys ...

2 具有重复IN参数的SQL查询性能

与在执行查询之前消除重复相比, IN子句中具有重复参数是否会影响查询性能? VS 我通过Java以编程方式组装查询,并在权衡是否应使用 自动防止重复的一套; 使用列表,但每次尝试插入时都会包含呼叫; 只需添加即可,不介意重复的字符串数据 我假设性 ...

5 Django:进行原始SQL查询,传递多个/重复的参数?

希望这应该是一个相当简单的问题,我只是不太了解Python和Django来回答它。 我在Django中有一个原始的SQL查询,它有六个不同的参数,前两个(centreLat和centreLng)都重复: 如何构造params对象和query字符串,以便他们知道要重复哪些参数以及在哪 ...

2010-05-31 14:48:11 1 4337   django
6 具有两个参数的ASP经典SQL查询[重复]

这个问题已经在这里有了答案: ASP经典SQL查询错误消息,正确的语法请 回答2 这是ASP Classic中的SQL查询: 我不确定这是正确的还是什么。 基于此查询,我需要基于invoice_num和org_name两个输入参数显示或输出“ name ” ...

7 使用不同的参数重复 SQL 查询

大家好,经过一些研究,我并没有真正找到适合我问题的答案这是我的问题,我有一个 SQL 查询,我想迭代这个,迭代涉及查询中一个参数的变化。 这是基本查询 现在我想要的是遍历这个查询,得到所有的结果,并在每次将 75% 参数替换为另一个参数。 我必须 go 从 01 到 95。 我查看了堆栈并发现了一些 ...

2019-10-10 09:25:10 3 45   mysql/ sql
8 SQL查询花费大量时间进行参数检查[重复]

这个问题已经在这里有了答案: OPTION(RECOMPILE)总是更快; 为什么? 5个答案 我有一个基于参数检查的SQL查询,这会花费很长时间。 它本身的查询是用于搜索屏幕的存储过程的一部分。 基本上,您会在表格中填写很多文本/组合框以供搜索。 我 ...

9 “ in”子句中参数过多的SQL查询错误[重复]

这个问题已经在这里有了答案: WHERE col IN(…)条件的限制 7个答案 我在下面有以下查询: 和我有参数高达@parameter1390 。 使用此SQL查询报告的C#应用​​程序 已达到表情服务限制。 请在查询中查找可能复杂的表 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM