我遇到此查询。我想要显示一个名为“执行”的字段,如果加入表'prospectousuario'时没有匹配,就必须说“sin asignar”,如果它存在,则必须说明执行者的名字和姓氏。但它返回以下错误:子查询返回的值超过1,导致查询失败
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an exp
查询是:
select p.IDCANCAP,
p.CEDULA,
p.NOMBRES,
p.APELLIDOS,
p.CELULAR,
p.CASA,
p.CORREO,
p.ESTABLECIMIENTO,
c.DESCRIPCION,
(select case when
p.CEDULA = pu.IDPROSPECTO and pu.IDUSUARIO = u.CEDULA
then u.NOMBRES+' '+u.APELLIDOS else 'Sin asignar'
end from usuario as u, PROSPECTOUSUARIO as pu) as Ejecutivo,
p.FECHA_CREAC
from PROSPECTO p, CANALCAPTACION c
where p.IDCANCAP = c.IDCANAL
错误消息告诉你**完全**问题是什么,并且在语句中只有一个子查询。 *你的子查询返回多于一行的哪一部分*不清楚? –
您的子查询可能会返回多条记录。你能想出一种方法来限制子查询,使它只返回一条记录吗? –
@TimBiegeleisen我必须返回表'prospectos'的所有记录和一个必须说明分配的执行人员姓名的额外字段。 – Jorge