你可以用 not exists . sql server现在有了一个方便的功能 concat_ws() 这在这里很有用:
with t as (
select t.*,
concat_ws('->', group_1, group_2, group_3, group_4) as groups
from <table> t
)
select t.*
from t
where not exists (select 1
from t t2
where t2.groups like concat(t.groups, '->%')
);
这很简单,没有 concat_ws() 也:
with t as (
select t.*,
concat('->' + group_1,
'->' + group_1,
'->' + group_3,
'->' + group_4
) as groups
from <table> t
)
1条答案
按热度按时间bfnvny8b1#
你可以用
not exists
. sql server现在有了一个方便的功能concat_ws()
这在这里很有用:这很简单,没有
concat_ws()
也:注意:这两者都使用
concat()
以及+
因为他们能处理NULL
价值观不同。concat()
忽略NULL
价值观,但是+
返回一个NULL
如果有任何参数NULL
.