无效的oracle视图列

无效的oracle视图列,oracle,Oracle,我正在创建一个视图,视图中我的一个字段是PO字段(它是输出表的主键) 输出表中的主键是复合键(Id+cntrid) 我写下面的语句是为了得到唯一的密钥 select (po_cntr || proj_id) PO 但是它仍然显示dup,这里缺少什么?听起来连接的值不是唯一的 例如,如果您有两行,如下所示: PO_CNTR PO_ID ABC12 1 ABC1 21 然后,两者的串联值将为“ABC121” 最简单的解决方案可能是在连接字段中包含分隔符: selec

我正在创建一个视图,视图中我的一个字段是PO字段(它是输出表的主键)

输出表中的主键是复合键(Id+cntrid)

我写下面的语句是为了得到唯一的密钥

select  (po_cntr || proj_id) PO

但是它仍然显示dup,这里缺少什么?

听起来连接的值不是唯一的

例如,如果您有两行,如下所示:

PO_CNTR    PO_ID
ABC12      1
ABC1       21
然后,两者的串联值将为“ABC121”

最简单的解决方案可能是在连接字段中包含分隔符:

select  (po_cntr || '-' || proj_id) PO