2011-07-12 151 views
1

我使用此查询:子查询返回多个值

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 

这引发错误:

"Msg 512, Level 16, State 1, Line 1 Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression."

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

+0

如果您发布的代码,XML或数据样本,** **请在高亮文本编辑器的线,然后点击“代码示例“按钮('{}'),以便对其进行精确格式化和语法突出显示! –

+1

这些东西是你加入VIEW而不是TABLE的吗?也许VIEW中有错误? – scwagner

+0

如果您正在使用触发器,也可能发生这种情况。任何可能导致此问题的触发器? –

回答

1

我认为你正在使用的意见,这些意见一个是给错误