Tengo unas facturas con sus detalles, hay unas facturas que tienen solo 1 detalle y otras que tienen 2 o mas por lo cual yo necesito para efectos de un reporte tomar ese numero de detalles y operarlo en una formula.
en mi caso es que tengo que dividir una cantidad “X” por el numero de detalles (filas) que tenga la factura
El resultado que espero es que donde esta ese 3 me ponga el numero de detalles que tiene la factura
asi como ahi puse 3 y en las facturas que tienen 3 detalles me sale bien el total pero en las que tienen un numero diferente a 3 de detalles sale mal
por lo que necesito capturar el numero de detalles que tiene cada factura y operarlos en ese espacio depues de la division
me sale esto
Msg 8120, Level 16, State 1, Line 9
Column ‘REMISA2017.opch.DocDate’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Buen dia @Mauricio_Ayau, el msg es porque tienes que agregar los valores(Los campos para la formula) a un GROUP BY cuando realizas una suma, realizando eso no debería salir ese msg.
mi query esta asi le pongo sum y me da error puro novato ando
SELECT
FacProve.DocNum
,FacProve.DocDate as fechaContabilizacion
,FacProve.DocDueDate as fechaVencimiento
,FacProve.CardCode + ' ' + FacProve.CardName as Proveedor
,FacProve.NumAtCard as numeroReferencia
,FacDesc.Dscription as descripcion
,DATEDIFF(DAY, FacProve.DocDate, SYSDATETIME()) AS dias
,FacProve.PaidToDate pagadoAlaFecha
,case when FacProve.WTSum <> 0
then FacDesc.GTotal + FacProve.TotalExpns - (FacProve.WTSum / COUNT (FacProve.DocNum) )
else FacDesc.GTotal + FacProve.TotalExpns END as totaline
from "REMISA2017".opch FacProve
INNER JOIN "REMISA2017".PCH1 FacDesc on FacProve.DocEntry = FacDesc.DocEntry
LEFT JOIN "REMISA2017".OVPM Pagos ON FacProve."ReceiptNum" = Pagos."DocEntry"
WHERE
FacProve.CardName = 'JUAN CARLOS LIMA OSCAL'
--FacProve.CardName = 'ESTACION DE SERVICIO LAS MAJADAS'
AND FacProve.PaidToDate <= 0
--and FacProve.DocDueDate <= @FechaVencimiento
ORDER BY DocNum
Antes del Order By agrega el GROUP BY con los campos de las columnas que utilizas, como el ej que diste ahorita, “Column ‘REMISA2017.opch.DocDate’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.”, el campo que puse en negritas, cada que lo ejecutes te dirá cual falta.
@Mauricio_Ayau, lee Cómo usar el foro de Consultoria-SAP, si continúas pasando código como capturas, y respondiendo mensajes seguidos (en vez de responder todos los mensajes en una respuesta, o editar tu respuesta para poner más contenido), podrías ser suspendido.
Recuerda que esta comunidad es de todos, si todos la usamos mal, el foro podría cerrar.