如何在 Oracle SQL 中只选择一种类型的记录,否则选择另一种类型?

问题描述 投票:0回答:0

假设我有一个类似下面的结果,它来自在后台使用 Oracle Server 的一组复杂查询(它不是表)。

当我添加像

type in ('A','B')

这样的条件时,就会出现这种情况
ID 代码 类型
1 123 A
2 214
3 336 A
1 245
2 214 A
4 123

现在我只想为一个 ID 保留 1 条记录。也就是说,如果存在则键入 A,否则键入 B。如果同一 ID 存在两者,则仅键入 A。

此结果还有其他列,其中数据对于单个 ID 保持相同,除了 codetype

结果应该是这样的

ID 代码 类型
1 123 A
3 336 A
2 214 A
4 123

我尝试将组函数与外部查询一起使用,但似乎无法在整个结果上应用任何组函数。

每种类型的联合解决方案。

但我不确定怎样才能得到我想要的结果。

sql oracle union
© www.soinside.com 2019 - 2024. All rights reserved.