hola, tengo un pequeño gran problema y es que necesito hacer una consulta que me muestre el detalle de las ventas ya que sobre cada linea se calculara una comision para los vendedores, hasta este punto no hay problema, el problema que tengo es cuando tengo que sacar tambien el restivo pago de cada factura ya que a veces una misma factura tiene mas de un pago por lo que me duplica o triplica los registros esto dependiendo de cuantos pagos tenga... intente sacar el detalle del pago por medio de una subconsulta pero el problema es que la subconsulta solo me muestra un registro unico por lo que no me sirve, si alguen tiene alguna idea de como se puede hacer esto le agradeceria su ayuda, acontinuacion voy a mostrar la consulta que tengo hasta ahora:
SELECT Personal.CodEmpleado, Personal.NomEmpleado, MaFacturas.NumFactura, MaFacturas.NumDocumento, MaFacturas.FecFactura,
MaFacturas.CodCliente, AsignaComision.CodClase, DeFacturas.CodArticulo, DeFacturas.Cantidad, DeFacturas.Unidades, MaFacturas.CodVendedor,
AsignaComision.NomEmpleado AS Expr1, AsignaComision.CodEmpleado AS Expr2, Articulos.CodArticulo AS Expr3, Articulos.CodClase AS Expr4,
Articulos.DesArticulo, AsignaComision.Comiision,
(SELECT top 1 convert(varchar,FecDocumento, 103) + ' '+ convert(varchar,CxCMaDocumP.NumDocumento)
FROM MaFacturas INNER JOIN
CxCMaDocumP ON MaFacturas.NumFactura = CxCMaDocumP.DocAfecta
WHERE DocAfecta IN (95,2299) AND TipoMovimiento='P'
order by FecDocumento desc)
FROM MaFacturas INNER JOIN
DeFacturas ON MaFacturas.NumFactura = DeFacturas.NumFactura INNER JOIN
Personal ON MaFacturas.CodVendedor = Personal.CodEmpleado FULL OUTER JOIN
Clases INNER JOIN
Articulos ON Clases.CodClase = Articulos.CodClase INNER JOIN
AsignaComision ON Articulos.CodClase = AsignaComision.CodClase ON Personal.CodEmpleado = AsignaComision.CodEmpleado AND
DeFacturas.CodArticulo = Articulos.CodArticulo
WHERE MaFacturas.NumFactura IN (95,2299)