当我在sql开发人员中执行以下查询时,出现以下错误消息 “Ora-01427单行子查询返回多于一行“ORA-01427:单行子查询为以下查询返回多个行
select TPNATIVENAME as PTPNAME,
INTERFACENAME as CTPNAME,
DIRECTIONALITY,
NENAME,
NCNAME
from TP ,
(select DIRECTIONALITY
from SNCCOMPONENT
where SNCID =
(select unique SNCID
from AFFECTEDXCS
where PXCID = -124)),
(select NODE.NAME as NENAME,
NC.NAME as NCNAME
from NODE NODE,
NETWORKCONTROLLER NC
where NODE.HANDLE =
(select unique SRCNEID
from SNCCOMPONENT
where SNCID =
(select unique SNCID
from AFFECTEDXCS
where PXCID = -124))
and NC.HANDLE = NODE.NCHANDLE)
where NEID =
(select SRCNEID
from SNCCOMPONENT
where SNCID =
(select unique SNCID
from AFFECTEDXCS
where PXCID = -124))
and TPID =
(select SRCTP
from SNCCOMPONENT
where SNCID =
(select unique SNCID
from AFFECTEDXCS
where PXCID = -124))
union
select TPNATIVENAME as PTPNAME,
INTERFACENAME as CTPNAME,
DIRECTIONALITY,
NENAME,
NCNAME
from TP,
(select DIRECTIONALITY
from SNCCOMPONENT
where SNCID =
(select unique SNCID
from AFFECTEDXCS
where PXCID = -124)),
(select NODE.NAME as NENAME,
NC.NAME as NCNAME
from NODE NODE,
NETWORKCONTROLLER NC
where NODE.HANDLE =
(select unique SRCNEID
from SNCCOMPONENT
where SNCID =
(select unique SNCID
from AFFECTEDXCS
where PXCID = -124))
and NC.HANDLE = NODE.NCHANDLE)
where NEID =
(select SINKNEID
from SNCCOMPONENT
where SNCID =
(select unique SNCID
from AFFECTEDXCS
where PXCID = -124))
and TPID =
(select SINKTP
from SNCCOMPONENT
where SNCID =
(select unique SNCID
from AFFECTEDXCS
where PXCID = -124));
我没有得到哪个内部查询返回多个值以及如何解决这个错误?
您需要缩小问题范围。每个单独的子查询都是独立的,并确定它是否返回多行。除非你要给我们一个可重复的测试用例,否则我们无法真正做很多调试问题。 – 2014-09-01 06:10:03
她可以找到一个sql格式化程序:http://sqlformat.org/ – miracle173 2014-09-01 06:46:17