5つのテーブルの結果を1つの値にリンクするクエリを作成していますが、結果が5つの異なるカラムを与えるため、必要な結果が得られません(CodigoProyecto )、私は一つだけ、クエリでこれらをリンクする必要があります:私はよく自分自身を説明するために管理している場合同じ列の5つの異なるテーブルにリンクする
SELECT TES_CarteraPrevisiones.CodigoEmpresa, TES_CarteraPrevisiones.IdDelegacion, TES_CarteraPrevisiones.IdPrevision, TES_CarteraPrevisiones.CodigoTipoPrevision,
TES_CarteraPrevisiones.TipoPrevision, TES_CarteraPrevisiones.EjercicioDocumento, TES_CarteraPrevisiones.SerieDocumento,
TES_CarteraPrevisiones.NumeroDocumento, TES_CarteraPrevisiones.FechaDocumento, TES_CarteraPrevisiones.NumeroOrdenEfecto,
TES_CarteraPrevisiones.Comentario, TES_CarteraPrevisiones.CodigoClienteProveedor, TES_CarteraPrevisiones.CodigoCuenta,
TES_CarteraPrevisiones.Contrapartida, TES_CarteraPrevisiones.CodigoCanal, TES_CarteraPrevisiones.CodigoTipoEfecto, TES_CarteraPrevisiones.ClaseEfecto,
TES_CarteraPrevisiones.FechaOperacion, TES_CarteraPrevisiones.FechaValor, TES_CarteraPrevisiones.ImporteEfecto, TES_CarteraPrevisiones.Bloqueo,
TES_CarteraPrevisiones.MovPosicionOrigen, TES_CarteraPrevisiones.FechaProceso, TES_CarteraPrevisiones.UsuarioProceso, TES_CarteraPrevisiones.Prevision,
TES_CarteraPrevisiones.TipoEfecto, TES_CarteraPrevisiones.Comentarios,
CASE WHEN TES_CarteraPrevisiones.Prevision = 'C' THEN Clientes.Razonsocial ELSE Proveedores.RazonSocial END AS RazonSocial,
CASE WHEN TES_CarteraPrevisiones.Prevision = 'C' THEN TES_CarteraPrevisiones.ImporteEfecto ELSE 0.00 END AS ImporteCobros,
CASE WHEN TES_CarteraPrevisiones.Prevision = 'P' THEN TES_CarteraPrevisiones.ImporteEfecto ELSE 0.00 END AS ImportePagos,
CASE WHEN TES_CarteraPrevisiones.CodigoTipoPrevision = 1 THEN ResumenCliente.CodigoProyecto ELSE NULL END AS CodigoProyecto,
CASE WHEN TES_CarteraPrevisiones.CodigoTipoPrevision = 2 THEN ResumenProveedor.CodigoProyecto ELSE NULL END AS CodigoProyecto,
CASE WHEN TES_CarteraPrevisiones.CodigoTipoPrevision = 9 THEN TES_Presupuestos.Comentario ELSE NULL END AS CodigoProyecto,
CASE WHEN TES_CarteraPrevisiones.CodigoTipoPrevision = 11 THEN CabeceraPedidoCliente.CodigoProyecto ELSE NULL END AS CodigoProyecto,
CASE WHEN TES_CarteraPrevisiones.CodigoTipoPrevision = 12 THEN CabeceraPedidoProveedor.CodigoProyecto ELSE NULL END AS CodigoProyecto
FROM TES_CarteraPrevisiones LEFT OUTER JOIN
Proveedores ON TES_CarteraPrevisiones.CodigoEmpresa = Proveedores.CodigoEmpresa AND
TES_CarteraPrevisiones.CodigoClienteProveedor = Proveedores.CodigoProveedor AND TES_CarteraPrevisiones.Prevision = 'P' LEFT OUTER JOIN
Clientes ON TES_CarteraPrevisiones.CodigoEmpresa = Clientes.CodigoEmpresa AND TES_CarteraPrevisiones.CodigoClienteProveedor = Clientes.CodigoCliente AND
TES_CarteraPrevisiones.Prevision = 'C'
LEFT OUTER JOIN ResumenCliente on ResumenCliente.CodigoEmpresa=TES_CarteraPrevisiones.CodigoEmpresa
and ResumenCliente.EjercicioFactura=TES_CarteraPrevisiones.EjercicioDocumento
and ResumenCliente.SerieFactura=TES_CarteraPrevisiones.SerieDocumento
and ResumenCliente.NumeroFactura=TES_CarteraPrevisiones.NumeroDocumento
LEFT OUTER JOIN ResumenProveedor on ResumenProveedor.CodigoEmpresa=TES_CarteraPrevisiones.CodigoEmpresa
and ResumenProveedor.EjercicioFactura=TES_CarteraPrevisiones.EjercicioDocumento
and ResumenProveedor.SerieFactura=TES_CarteraPrevisiones.SerieDocumento
and ResumenProveedor.NumeroFactura=TES_CarteraPrevisiones.NumeroDocumento
LEFT OUTER JOIN TES_Presupuestos on TES_Presupuestos.CodigoEmpresa=TES_CarteraPrevisiones.CodigoEmpresa
and TES_Presupuestos.EjercicioPresupuesto=TES_CarteraPrevisiones.EjercicioDocumento
and TES_Presupuestos.SeriePresupuesto=TES_CarteraPrevisiones.SerieDocumento
and TES_Presupuestos.NumeroPresupuesto=TES_CarteraPrevisiones.NumeroDocumento
LEFT OUTER JOIN CabeceraPedidoCliente on CabeceraPedidoCliente.CodigoEmpresa=TES_CarteraPrevisiones.CodigoEmpresa
and CabeceraPedidoCliente.EjercicioPedido=TES_CarteraPrevisiones.EjercicioDocumento
and CabeceraPedidoCliente.SeriePedido=TES_CarteraPrevisiones.SerieDocumento
and CabeceraPedidoCliente.NumeroPedido=TES_CarteraPrevisiones.NumeroDocumento
LEFT OUTER JOIN CabeceraPedidoProveedor on CabeceraPedidoProveedor.CodigoEmpresa=TES_CarteraPrevisiones.CodigoEmpresa
and CabeceraPedidoProveedor.EjercicioPedido=TES_CarteraPrevisiones.EjercicioDocumento
and CabeceraPedidoProveedor.SeriePedido=TES_CarteraPrevisiones.SerieDocumento
and CabeceraPedidoProveedor.NumeroPedido=TES_CarteraPrevisiones.NumeroDocumento
ORDER BY CodigoProyecto, TES_CarteraPrevisiones.TipoPrevision, TES_CarteraPrevisiones.EjercicioDocumento, TES_CarteraPrevisiones.SerieDocumento, TES_CarteraPrevisiones.NumeroDocumento, TES_CarteraPrevisiones.CodigoClienteProveedor
は、私にはわからない...あなたの助けを
感謝を!
問題を最小限に抑えます。 2つまたは3つのテーブル、より少ない列、より短い名前。 – jarlh