【发布时间】:2019-08-01 17:02:38
【问题描述】:
我正在尝试重构一个在其 Select 连接中包含五个字段的查询,因此
SELECT
Id
'-'
Field_2
'-'
Field_3
'-'
Field_4
AS id
FROM some_table
示例结果是这样的
Id
1-a-b-c-d
2-e-f-g-h
#null#
#null#
我的问题是,虽然此查询有效,但这些字段中的部分或全部可能为空。有人建议,当所有或任何这些字段为空时,交叉连接可以允许显示空。不幸的是,我不知道该怎么做。由于行数较多,建议使用交叉连接以提高性能。
谁能告诉我怎么做
【问题讨论】:
-
交叉连接似乎是一种奇怪的方法。连接时只需用
Coalesce(columnname, '')包裹每一列,将其从空切换为空白,这样它就可以连接而不返回NULL。不过,也许我误解了这个问题。 -
连接将结果显示为键,但如果某些内容为空,我们仍希望在文本中显示 ID 为空的行。该查询将在 mi 报告中使用
-
当我们将键显示为空且带有单词 null 的任何字段时,否
-
再一次,一些示例数据和期望的结果在这里真的会有所帮助。
-
您的代码不是有效的 SQL。您是否打算在值之间使用
||?