单行子查询返回多行 - 如何找到重复?

我不是一个大专家 ORACLE - SQL, 所以希望有人知道找到记录的好方法 "duplicate", 什么导致

Podzapros: single-row 返回多个错误行

.

这是我的陈述:


SELECT
CAST/af.SAP_SID AS VARCHAR2/4000// APP_ID,
/SELECT DR_OPTION
FROM
DR_OPTIONS
WHERE DR_OPTIONS.ID = /
select dr_option from applications where applications.sap_sid = af.sap_sid// DR_OPTION
FROM
APPLICATIONS_FILER_VIEW af


它在我的测试系统中工作,所以 iam "sure" 可用数据记录中必须存在错误,但我不知道如何找到这些 ..
已邀请:

小明明

赞同来自:

尝试此要求:


select applications.sap_sid, count/dr_option/ 
from applications
group by applications.sap_sid
having count/dr_option/ > 1


它应该给你 sap_sid 重复的字符串

董宝中

赞同来自:

我建议简化您的要求:


SELECT CAST/af.SAP_SID AS VARCHAR2/4000// APP_ID,
dr.DR_OPTION
FROM APPLICATIONS_FILER_VIEW af
INNER JOIN applications a ON af.sap_sid = a.sap_sid
INNER JOIN DR_OPTIONS dr ON a.dr_option = dr.ID

董宝中

赞同来自:

我探讨我们在运行时得到的东西:


select dr_option from applications where applications.sap_sid = af.sap_sid


但你可以强行返回一行 /我认为它像虚构一样,并不建议使用它,至少添加一个过程来对返回的字符串进行控制/ 有类似的东西:


SELECT
CAST/af.SAP_SID AS VARCHAR2/4000// APP_ID,
/SELECT DR_OPTION
FROM
DR_OPTIONS
WHERE DR_OPTIONS.ID = /
select dr_option
from applications
where applications.sap_sid = af.sap_sid
and rownumber = 1/
/ DR_OPTION
FROM
APPLICATIONS_FILER_VIEW af


/没有测试,只是谷歌入如何限制结果 oracle/

如果您使用数据解决问题 /根据评论 A.B.Cades/, 然后我建议将其转换为按照答案使用连接 weenoid. 它还突出了未来可能出现的其他数据问题。

简而言之:我从未以这种方式纠正过任何纠正 ... 真正的答案是探索几行返回的行,决定你想做什么:

添加其他条件 where

订购结果并仅选择顶部字符串。

实际上保持重复,因为它们代表了之前没有想过的脚本

要回复问题请先登录注册