cordial saludo,
solicito de su colaboración orientar la necesidad que describo, tengo un listado de cliente y requiero saber si en cada mes un clientes es nuevo o no, es decir, si él un cliente (dbo.OINV.CardCode), está en el mes anterior, de ser así colocar una marca "FIDELIZADO", sino (no esa en el mes anterior) colocar una marca "NUEVO"
He realizado la siguiente vista, que me permite saber cuantas facturas por mes tiene el cliente
SELECT TOP 100 PERCENT
Count(SUBSTRING (dbo.OINV.CardCode, 3,10)) AS Cantdoc, -- cuento cuantos registros tiene cada tercero por mes
SUBSTRING (dbo.OINV.CardCode, 3,10) AS idcliente,
CONVERT (
VARCHAR(7),
dbo.OINV.DocDate,
120) AS FDoc,
DATENAME("MM", dbo.OINV.DocDate) AS NOMBREMES
FROM
dbo.OINV
INNER JOIN dbo.OACT ON dbo.OACT.AcctCode = dbo.OINV.CtlAccount
WHERE
dbo.OINV.DocDate >= '2018-01-01'
GROUP BY
dbo.OINV.CardCode,
CONVERT (
VARCHAR(7),
dbo.OINV.DocDate,
120),
DATENAME("MM", dbo.OINV.DocDate)
ORDER BY
dbo.OINV.CardCode, FDoc ASC
Lo que me devuelve
Cantdoc idcliente Fdoc Mes
1 15985344 2018-03 Marzo
1 24320315 2018-04 Abril
1 30396226 2018-08 Agosto
1 30396226 2018-09 Septiembre
1 800039996 2018-01 Enero
1 800039996 2018-02 Febrero
1 800039996 2018-03 Marzo
por favor me guian como puedo complementar para que el resultado sea
Cantdoc idcliente Fdoc Marca
1 15985344 2018-03 NUEVO
1 24320315 2018-04 NUEVO
1 30396226 2018-08 NUEVO
1 30396226 2018-09 FIDELIZADO
1 800039996 2018-01 NUEVO
1 800039996 2018-02 FIDELIZADO
1 800039996 2018-03 FIDELIZADO
No entiendo tu ejemplo. No hay suficiente información. Con los datos que muestras en
1 30396226 2018-08 NUEVO
1 30396226 2018-09 FIDELIZADO
no hay suficiente para saber quién es nuevo y quien no. Falta una segunda fecha con la que comparar.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)