我有以下 2 个记录集:
记录集 1:
Id isVal isVal1
1 Y N
2 Y N
记录集 2:
Id isVal isVal1
2 N Y
3 N Y
所需的实际记录集是:
Id isVal isVal1
1 Y N
2 Y Y
3 N Y
我应该使用加入吗?你能告诉我如何解决这个问题吗?
不,您想将记录放在一起,因此您需要使用union
.
select id, max(isval) as isval, max(isval1) as isval1
from ( select id, isval, isval1
from recordset1
union all
select id, isval, isval1
from recordset1
)
group by id
我使用union all
,因为您不需要删除重复项,为此您将删除all
.
max
作品因为“'Y'
大于” 'N'
。
我假设'Y'
优先'N'
于第一个记录集中的值而不是第二个记录集中的值重要。