2011-07-12 194 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

我認爲你正在使用的意見,這些意見一個是給錯誤