子查询返回的值超过1

时间:2011-07-12 16:35:36

标签: sql sql-server tsql

我使用此查询:

SELECT DocumentosPorTercero.CodigoSucursal, 
       Sucursal.NombreSucursal, 
       DocumentosPorTercero.IdTercero, 
       Terceros.NombreTercero, 
       DocumentosPorTercero.Observaciones,    
       CASE 
         WHEN Terceros.PersonaNatural = '1' THEN 'Natural' 
         WHEN Terceros.PersonaNatural = '0' THEN 'Jurídico' 
         ELSE NULL 
       END AS TipoTercero, 
       ReporteDocumentos.FechaDiligenciamiento, 
       CASE 
         WHEN ReporteDocumentos.Cedula = '1' THEN 'v' 
         WHEN ReporteDocumentos.Cedula = '0' THEN '-'
         ELSE NULL 
       END AS Cedula, 
       CASE 
         WHEN ReporteDocumentos.ConstanciaDeIngresos = '1' THEN 'v' 
         WHEN ReporteDocumentos.ConstanciaDeIngresos = '0' THEN '-' 
         ELSE NULL
       END AS ConstanciaDeIngresos,
       CASE 
         WHEN ReporteDocumentos.Declaracion = '1' THEN 'v' 
         WHEN ReporteDocumentos.Declaracion = '0' THEN '-' 
         ELSE NULL 
       END AS Declaracion, 
       CASE 
         WHEN ReporteDocumentos.Camara = '1' THEN 'v' 
         WHEN ReporteDocumentos.Camara = '0' THEN '-'
         ELSE NULL
       END AS Camara,     
       DocumentosPorTercero.NumeroEnvio
  FROM DocumentosPorTercero 
  JOIN Sucursal ON DocumentosPorTercero.CodigoSucursal = Sucursal.CodigoSucursal 
  JOIN Terceros ON DocumentosPorTercero.IdTercero = Terceros.IdTercero 
  JOIN TipoDocumentos ON DocumentosPorTercero.IdTipoDocumento = TipoDocumentos.IdTipoDocumento  
  JOIN ReporteDocumentos ON DocumentosPorTercero.IdDocumento = ReporteDocumentos.IdDocumento
 WHERE DocumentosPorTercero.CodigoSucursal = 21

这会引发错误:

  

“消息512,级别16,状态1,行1子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或者当时,不允许这样做子查询用作表达式。“

我不明白为什么,我没有使用子查询。

1 个答案:

答案 0 :(得分:1)

我认为您正在使用视图,其中一个视图正在提供错误