标签: coalesce

组合行/连接行

我正在寻找与SQL Server的COALESCE功能等效的Access 2007.

在SQL Server中,您可以执行以下操作:

John
Steve
Richard
Run Code Online (Sandbox Code Playgroud)

SQL

DECLARE @PersonList nvarchar(1024)
SELECT @PersonList = COALESCE(@PersonList + ',','') + Person
FROM PersonTable

PRINT @PersonList
Run Code Online (Sandbox Code Playgroud)

产生:约翰,史蒂夫,理查德

我想在Access 2007中做同样的事情.

有谁知道如何在Access 2007中组合这样的行?

ms-access coalesce ms-access-2007 access-vba

8
推荐指数
1
解决办法
1万
查看次数

合并vs空字符串连接

我的同事是C#的新手,并不知道合并操作员.所以,我看到他写了一行代码:

string foo = "" + str;
Run Code Online (Sandbox Code Playgroud)

想法是,如果str为null,则此表达式将返回空字符串.当然,这可以改写为:

string foo = str ?? "";
Run Code Online (Sandbox Code Playgroud)

我觉得这会更具可读性.但这真的很重要吗?可读性的好处是否足以建议返回并使这些线看起来像第二个?或者这是我应该学会放手的事情之一(假设我的同事接受了未来最佳方式的教育)?

编辑:只是一个注释,我很欣赏效率评论,但这并没有真正用于任何性能至关重要的情况.因此,虽然这些信息很有趣,但并不一定是我认为重要的信息.

c# string concatenation coalesce

8
推荐指数
1
解决办法
3813
查看次数

SQL查询:分层合并

我有一个定义层次结构的表:

Create Table [example] (
    id          Integer   Not Null Primary Key,
    parentID    Integer       Null,
    largeData1  nVarChar(max) Null,
    largeData2  nVarChar(max) Null);
    -- largeData3...n also exist

Insert Into [example] (id, parentID, largeData1, largeData2)
Select 1, null, 'blah blah blah', null          Union
Select 2,    1, null,             null          Union
Select 3,    1, 'foo bar foobar', null          Union
Select 4,    3, null,             'lorem ipsum' Union
Select 5,    4, null,             null;
Run Code Online (Sandbox Code Playgroud)

此数据的层次结构图:

层次结构图

我想编写一个查询,它将返回任何给定[id]值的单行.该行应包含该行的[id]和[parentID]信息.它还应包含[largeData1 ... n]字段.但是,如果largeData字段为null,则它应该遍历层次结构,直到遇到该字段的非null值.简而言之,它应该像coalesce函数一样运行,除了行的层次结构而不是一组列.

例:

其中[id] = 1:

id:          1
parentID:    null
largeData1:  blah blah …
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 coalesce hierarchy

8
推荐指数
1
解决办法
1073
查看次数

NHibernate QueryOver按第一个非空值排序(合并)

我想要提出的是这样的表达方式:

var result = Session.QueryOver<Foo>().OrderBy(f => f.UpdatedAt ?? f.CreatedAt);
Run Code Online (Sandbox Code Playgroud)

果然,这不起作用.在T-SQL中粗略相当于此

... order by coalesce(f.UpdatedAt, f.CreatedAt)
Run Code Online (Sandbox Code Playgroud)

在NHibernate QueryOver中进行"合并"的犹太方法是什么?

nhibernate coalesce queryover

8
推荐指数
1
解决办法
2202
查看次数

如何使用合并内存访问

我有'N'个线程同时在设备上执行,它们需要从全局内存中浮动M*N. 访问全局内存合并的正确方法是什么?在这件事情上,共享内存如何帮助?

gpu coalesce shared-memory

8
推荐指数
1
解决办法
4185
查看次数

ORDER BY,列有时是空的

我的SQL看起来像这样:

SELECT CompanyName , LastName , FirstName FROM ... JOIN ...
ORDER BY CompanyName , LastName , FirstName
Run Code Online (Sandbox Code Playgroud)

现在的问题是A列有时是空的(或者为NULL""),我不希望所有这些结果最终都出现.

在这个例子中,我想让第四个条目(以C开头)成为第三个条目.但如果我只是ORDER BY,就会发生这种情况:

Avagax Bauer Frank
Bele AG Smith John
Mork AG Baggins Frodo
Chen Jun
Run Code Online (Sandbox Code Playgroud)

此外,在某些情况下,我有时会有更多的订单列,或者更重要或更不重要.这可能是相关的.

附录:姓氏或公司必须有一个有用的字符串.名字是完全可选的.系统是PostgreSQL(8.4,可能迁移到9),也是SQLite.供应商独立性将是一个优势,因为潜在客户已经在运行Oracle和SQLServer.

sql coalesce sql-order-by

8
推荐指数
1
解决办法
9338
查看次数

如何在Javascript中模仿SQL Coalesce语句的功能

我想知道在javascript中是否有一种方法可以使逻辑类似于sql中的coalesce语句,它将以指定的顺序返回数据,如下所示:

Select top 1 Coalesce(ColA, ColB, "No Data Found") from TableA;
Run Code Online (Sandbox Code Playgroud)

是否有一种优雅的方式来处理Javascript中的空值,就像sql在上述语句中返回结果一样?

我知道我可以在技术上有一个switch语句,但这需要一些可能不必要的代码

谢谢.

javascript jquery coalesce

8
推荐指数
2
解决办法
2706
查看次数

Twig有一个null coalesce运算符吗?

我正在使用Twig PHP模板引擎.

是否有可用的运算符输出第一个非空值(合并)?

例如(使用PHP伪代码):

{{ title ?: "Default Title" }}
Run Code Online (Sandbox Code Playgroud)

我知道我可以这样做,但有点啰嗦:

{% if title %}{{ title }}{% else %}{{ "Default Title" }}{% endif %}
Run Code Online (Sandbox Code Playgroud)

coalesce twig

8
推荐指数
3
解决办法
4033
查看次数

使用通配符从 jq 打印(或合并到第一个非空)

我有以下命令:

kubectl get pod -A -o=json | jq -r '.items[]|select(any( .status.containerStatuses[]; .state.waiting or .state.terminated))|[.metadata.namespace, .metadata.name]|@csv'

这个命令效果很好。它输出失败 Pod 的命名空间和名称。

但现在我想在结果中再添加一列。我想要的列位于两个位置之一(且仅一个):

  • .status.containerStatuses[].state。等待原因
  • .status.containerStatuses[].state。终止.原因

我首先尝试添加.status.containerStatuses[].state.*.reason到结果字段数组中。但这给了我一个unexpected '*'编译错误。

然后我开始考虑如何使用 SQL 或其他编程语言来做到这一点。他们经常有一个函数返回其参数的第一个非空值。(这通常称为合并)。但是我找不到任何这样的命令jq

我如何返回reason查询结果?

json coalesce jq kubectl

8
推荐指数
1
解决办法
2515
查看次数

如何在SQL Server中连接字符串和逗号?

我对MSSQL比较陌生,如果这个问题听起来很简单,那就很抱歉.我想用分隔符连接多个字段,.但是,当该字段为空时,额外的内容,也将包含在结果字符串中.那么有一个简单的方法来解决这个问题吗?例如,

SELECT VRI.Street_Number_and_Modifier + ',' + 
       VRI.Street_Direction + ',' + 
       VRI.Street_Name + ',' + 
       VRI.Street_Direction + ',' + 
       VRI.Street_Suffix + ',' + 
       VRI.Street_Post_Direction + ',' + 
       VRI.Unit
FROM View_Report_Information_Tables VRI
Run Code Online (Sandbox Code Playgroud)

sql sql-server concatenation coalesce

7
推荐指数
3
解决办法
3万
查看次数