0

有人可以解释一下为什么它只返回两条记录而不是三条记录吗?当我对分隔符进行硬编码以及使用内置 SQL 函数时,我想要相同的结果。

SELECT 'HASH(IFNULL(COST_CENTER, '''') || IFNULL(MATCH_DATE, ''''))::bigint'
UNION 
SELECT CONCAT('HASH(', CONCAT_WS(' || ', 'IFNULL(COST_CENTER, '''')', 'IFNULL(MATCH_DATE, '''')' ), ')::bigint')
UNION 
SELECT CONCAT('HASH(', CONCAT_WS('||', ' IFNULL(COST_CENTER, '''') ', ' IFNULL(MATCH_DATE, '''') ' ), ')::bigint')
;
4

1 回答 1

2

您的前 2 行是相同的,因此当您使用 UNION 时,它会将它们重复数据删除为一条记录。如果您想要所有三行,请使用 aUNION ALL代替。

于 2020-06-04T01:14:01.110 回答