问题标签 [coalesce]

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 回答
4968 浏览

linq - 使用 LINQ 的子查询中的高级多重连接

我花了一个下午试图围绕如何将以下查询转换为 LINQ 来思考,但我无法做到。

查询的目的是使用 2 种备用语言从表中获取数据,因此如果数据在语言 1 中不存在,则在语言 2 中获取,如果 2 不存在,则在语言 0 中获取,这是全球翻译。

我可以得到大部分正确的内部查询(除了 id1.language = 1,我似乎无法让它加入我要加入的表的成员,有什么想法吗?)

这是我的代码(LINQPad 代码):

这会生成以下 SQL:

但我不能把它和其余的查询放在一起,也许我只是累了买我一直在做很多交叉申请。有没有人有什么建议?

0 投票
1 回答
2630 浏览

sql - 如何确定 COALESCE 运算符成功选择的列/值?

我有一个表,我希望从每个 ID 的 3 个(并且只有 3 个)列中找到第一个非空值,从 Col1 开始,然后到 Col2,然后到 Col3

注意:Col3 永远不会为空

要为每个值获取正确的列,我使用以下 SQL 选择

它返回以下内容并且工作正常

我想要的是返回第三列,指示合并成功的列。以下是我希望生成的结果集:

0 投票
8 回答
245178 浏览

sql - NVL 和 Coalesce 之间的 Oracle 差异

Oracle 中的 NVL 和 Coalesce 之间是否存在不明显的差异?

明显的区别是,coalesce 将返回其参数列表中的第一个非 null 项,而 nvl 只接受两个参数,如果它不为 null,则返回第一个,否则返回第二个。

似乎 NVL 可能只是合并的“基本案例”版本。

我错过了什么吗?

0 投票
3 回答
2628 浏览

mysql - MySQL合并一些null,而不是全部null

我有一个 MySQL 查询,用于检查员工计划数据库,并且(感谢之前的 stackoverflow 问题)返回用户不工作的任何日期为“不工作”,因此如果用户在星期四不工作,则查询填充即使该日期没有出现在原始结果集中(因此我不必通过 PHP 脚本填写这些空白)。

现在的问题是,如果用户在两周后查看日程安排,则整周都显示“无工作”。如果没有结果,脚本应该输出“对不起,本周没有发布时间表”,这样用户就不会被误导以为他有一周的休息时间并且知道稍后再回来查看。

所以问题是:什么是最好的查询语法,例如:

因此,如果所有行都为空(或计数为 0),它不会返回任何行。

我尝试添加一列进行计数并让脚本输出“未发布”并在一次迭代后退出,但在好几周后它仍然在一次迭代后退出,所以我很沮丧。

我敢肯定,如果我退后一步,我可以让脚本做我想做的事,但我很好奇是否有办法在查询中做到这一点,以便至少有一行用于合并其他空行的非 Null 值。

0 投票
4 回答
14951 浏览

sql - LINQ to SQL C# COALESCE

给定下表:

我想生成单列/行:

我可以在 SQL 中执行以下操作:

但我无法弄清楚如何在 LINQ 中执行此操作。

我得到的最接近的是:

产生一列和两行:

皈依者对问题并不重要。尽管所有列都是整数,但这些列被定义为浮点数。关键是 COALESCE 函数,我无法弄清楚如何在 LINQ 中做到这一点。

0 投票
13 回答
360 浏览

c# - 在您看来,什么更具可读性:?? (运算符)或使用 if 的

我有一个可以string接收int. 有时可以null,我必须将其值更改为"0". 今天我有:

我做到了,但我的老板要求我将其重构为:

您认为最好的选择是什么?

0 投票
3 回答
1716 浏览

sql - Oracle SQL 使用 Coalesce

我有这个在 Oracle 中工作的查询,但我想将它转换为使用 Coalesce,因为我在使用 Visual Studio 时遇到了一些问题。

这有效

但是当我尝试将机构代码和机构描述字段转换为使用合并时,我没有从查询中得到任何结果。

当我添加这些行时没有结果

0 投票
5 回答
3250 浏览

sql - SQL如何找到非空列?

我有一张有很多列的表,比如说我有列

A B C D

在每一列中,任何一条记录中只有一列将被填充,其他列将始终为 NULL。

我需要一个将返回非空列的列的选择语句。

我试过合并,但这会返回一个值,而不是该值所属的列。

有人知道最简单的方法吗?

0 投票
1 回答
607 浏览

sql - 为什么 COALESCE 不能与 RowFilter 一起使用?

我正在 WPF 中开发一个小型应用程序。我有一个ListBox名称NameListBox,其ItemsSource属性设置为 a DataView,因此显示客户名称列表。名称由 3 部分组成:FirstNameMiddleNameLastName。我使用转换器在列表中显示客户的全名。一切正常(我认为这种细节水平足以了解整体情况)。

现在我想启用过滤NameListBox这样列表应该只显示那些包含在TextBox命名中输入的文本的客户名称CustomerNameSearchBox

通过在 Internet 上搜索,我发现了 - 的RowFilter属性,DataView并且还玩了一点。现在当我尝试

这件事给了我预期的结果。但是等等..这里有一些奇怪的东西!!!

如您所见,两行的结构是相同的 - 只是COALESCE代替ISNULL. 但是当我取消注释第一行(并注释掉第二行)时,它不起作用!!!!它在运行时在该行抛出异常"The expression contains undefined function call COALESCE()."!!!!

尽管ISNULL此时符合我的目的,但我真的很想知道为什么会发生这种异常。此外,即使是简单的事情,如

好像不行!!!!(这意味着它不仅仅是一个语法问题)

谁能解释一下这种行为?提前致谢。

标签: WPF SQL COALESCE ISNULL RowFilter

0 投票
2 回答
3192 浏览

asp.net - ObjectDataSource 和空参数

我正在使用 Visual Web Developer 2008 EE 使用数据集 (.xsd) 来开发发票应用程序,但在创建自定义搜索查询时遇到了麻烦。我有一个需要 4 个 ControlParameters 的 ObjectDataSource,如下所示:

对于这些控件(下拉菜单)中的每一个,我都有一个默认值“”(=空字符串),并且我为每个参数添加了选项 ConvertEmptyStringToNull="True"。ObjectDataSource 后面的查询是这个:

使用 COALESCE,我基本上是说忽略 4 个参数中的任何一个(如果它们为空)并返回所有行。

问题是这个查询不返回任何行,除非我为 4 个参数中的每一个指定一个值,基本上揭穿了这个自定义搜索的全部目的。

关于为什么这不起作用的任何想法?提前致谢!