问题标签 [select-case]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1189 浏览

mysql - MySql如何通过`IF`或另一个`CASE`检查另一个条件来获取`CASE`语句的`END AS`

我有以下查询,我想做的是通过检查另一个条件来控制END ASa 。SELECT CASE

但是在语句查询END AS部分CASE停止并显示查询错误,我该如何解决。

0 投票
1 回答
140 浏览

vb.net - 嵌套 If - ElseIf - 选择案例

我需要选择一种方法来编写一段会重复很多的代码,所以我希望它尽可能快。

这是我的代码(目前):

我想改变它(使用 ElseIf 或 Select Case),如图所示:

使用 ElseIf

或使用选择案例:

我试图在 .netFiddle 上比较这三种方法,但我不确定结果。

你能建议我正确的选择吗?

0 投票
2 回答
61466 浏览

oracle - Oracle SQL 查询与 CASE WHEN EXISTS 子查询优化

我正在使用以下查询在Oracle 11g (11.2.0.3.0)中创建视图。

然后我查询该视图以获取页面中 a 的DataGridViewASPX

相关表和关系

文件;文件;工作;

文件 (1-1) <----> (0-N) 文件

工作 (0-1) <----> (0-N) 文件

查询视图,我得到完整的文档列表及其所有相关信息(ID、描述、日期、状态等)以及每个文档:

  • 附件总数
  • 附加文件的总尺寸(以字节为单位)
  • 布尔值,指示是否至少有一个JOB 与 相关联DOCUMENT

在视图包含几千条记录之前,一切正常。现在记录数量正在增加,SELECT * FROM视图上大约需要 2:30 分钟,有 15.000-20.000 条记录。我知道我的观点中一个非常耗时的部分是嵌套的SELECT

如何优化我的视图?

0 投票
1 回答
355 浏览

vb.net - Vb.NET - '案例“String1”或“String2”'试图将“String2”转换为Long

我正在更新的一段代码使用 select case 语句来比较字符串的值...

我注意到对于两个可能的值,我最终可能会重复使用相同的代码。

所以我添加了一个案例:

但是,当我达到这一点时,我会抛出一个无效的强制转换异常。

异常表示它试图将“是/否”转换为长值而不是字符串。

采用 'Or "Continue" ' 并将其移至其自己的 case 语句并使用重复的代码部分解决了该问题。

我试图找出为什么“是/否”或“继续”没有按我预期的方式工作。

我的印象是我可以在那里写出一个表达式,就像我在写一个 If 语句时一样。

0 投票
1 回答
735 浏览

mysql - MySQL - 在重复键上 - CASE WHEN THEN ELSE 不起作用

我想在数据库中插入一个条目(uid、A、B)。如果条目已经存在,我将使用条件更新“A”和“B”列:(1 = 旧条目;[2] = 新条目)

我的查询:

例1:

例 2:

非常感谢你。

答案 1:删除 SELECT 键使其工作

p-jairaj的回答

0 投票
1 回答
187 浏览

for-loop - Visual Basic 案例在第一次迭代后选择内部进行下一步停止

这对我来说似乎是一件相当微不足道的事情,但我无法让它发挥作用。有谁知道为什么下面的代码只返回一个带有“z = 0”的消息框?非常感谢你的帮助。

0 投票
4 回答
85 浏览

sql-server - 如何对此查询进行选择案例?

SQL FIDDLE 演示在这里

我有这种表结构:

我想用这个结果查询:在用户表中,如果 IdDepartment 为 0,则表示用户是管理员,因此他可以查看所有部门。如果用户在 idpartment 中有 -1,则意味着用户可以访问有限的部门,所以在这种情况下,我对 Department 表进行内部连接以获取该部门的列表。最后一种情况是,如果用户在用户表中的 idDepartament 有一个不同于 0 和 -1 的编号,则表示该用户只能访问该部门。

我试图做类似的事情,但它的结构不是很好:

我怎样才能做到这一点?谢谢。

我为我想要获得的内容添加了一个示例:

0 投票
2 回答
2279 浏览

excel - 从选择案例返回值

如何从Select Case语句中的表达式中获取值?

当我们写select case语句时,我们被告知好的做法是case else在结尾加上 a。我理解这样做的目的是,如果我们不考虑所有可能的情况,有一种方法可以通知我们,而不是继续前进。通常我只是debug.assert在这种情况下使用,它非常适合个人调试,有时对于交付后的某些最终用户来说已经足够了。

当我写信给 VBE 时,这不起作用,因为在调用 VBE 后的任何时候都不支持中断。我意识到我可能会先卸载 VBE 对象,然后再卸载debug.assert,但是如果情况与我正在读/写到 VBE 的内容有关,那将违背暂停我的代码的目的。

在我看来,最简单的解决方案是msgbox TheUnexpectedResultFromMyExpression,但我不知道如何调用它。第二个最简单的解决方案似乎是对我的用户可能会或可能不会做的事情,以及他们何时以及如何做这件事有充分的预知。我也一直在努力,所以如果你不知道如何返回值,那么也许你有一些关于全知的技巧。

我知道,在大多数情况下,我可以简单地将表达式本身复制到msgbox ...inside case else,但我碰巧正在处理基于返回设置对象的决策树的情况,我对这样做两次。另一种选择可能是只是myVariable=<expression>select case myVariable而不是select case <expression>,然后总是debug.print myVariable在每个之前select case,但是我的日志已经很忙了,在一个更大的项目中这样做意味着我必须购买另一台显示器,而我现在正在为杂货而苦苦挣扎。

在这里问似乎更容易。谢谢。

编辑:

对于那些似乎很难理解我要问什么的人,我尽可能简单地简化了代码。显然,下面的内容不是超级有用,但你明白了。

当我的 Case Else 语句运行时,它可能会在即时窗口中打印表达式的值(我提到的解决方法),并且我知道我可以对 a msgboxor 变体或其他东西做同样的事情,但它会再次运行代码。是的,正如我上面已经提到的,我可以(在这种情况下)将值分配给 long 然后运行Select Case从长远来看,但该选项并不能解决我的应用程序中的问题。以免这成为我们讨论使用 VBE 对象的优点的对话,或者试图让我问一个不同的问题,为什么我会得到意外的值(我不是,我正试图计划在运行时进行干净的调试),或者有人问我为什么不能让代码更简单易用,而不是几万行代码再写一千多行代码,那是因为我有一个客户端。他们为他们想要的东西买单。

所以,回到原来的问题,我只想知道如何从select case表达式中返回值。如果你是一个超级英雄,并且可以在调用 VBE 后让代码暂停,那么一定要回答这个问题,或者补充。

0 投票
1 回答
539 浏览

c - 是否有等效于 C Fall Through 开关的 VB .NET?

这不是这个问题的重复:VB.NET Stacking Select Case Statements together like in Switch C#/Java。这里提供的答案没有回答我的问题。那里的答案是说我知道VB .Net中有一个自动中断。我在问有没有解决办法。

在 C 中,可以执行以下操作:

基本上

  • 如果i为 1,应用程序将做第一件事。
  • 如果i是 2,它将做第二和第三件事。
  • 如果i是 3,它只会做第三件事。

由于在 VB .Net 中每个语句的末尾都有一个自动中断Select case,有谁知道如何在 VB .Net 中实现这一点?

我的意思是用一种很好很漂亮的方式...

0 投票
0 回答
679 浏览

vba - VBA 连接动态范围

我有一个动态范围,我想使用选择案例修复一个数据范围,将其粘贴 20 列,然后连接两列,固定范围列和动态范围集中的另一列,将被粘贴右侧 20 列,或粘贴固定范围的位置。

我在实际连接它们时遇到了麻烦。我有选择案例部分工作,但我不确定如何实际连接它们。

现在我有