Clientes saldo query sql

Buenas tardes a tod@s

A quien pueda orientar, por favor.

A continuación tengo la siguiente consulta:

SELECT T0.“CardName” AS “Clientes Otros”, COUNT(T0.“Balance”) AS "Contador " , T0.“Balance” FROM OCRD T0 WHERE T0.“CardType” =‘C’ AND T0.“CardName” NOT Like ‘%%BETIS%%’ AND T0.“CardName” NOT Like ‘%%atus%%’ GROUP BY T0.“CardName”, T0.“Balance” ORDER BY T0.“Balance” ASC

me genera el listado de clientes con su respectivo saldo.

Ahora bien, cómo puedo hacer para que se muestren todos los clientes, menos los 30 con mayor saldo?

Tengo en otra consulta el top 30 de los clientes con mayor saldo. Pero necesito ahora el resto de clientes.

Muchas gracias por su tiempo.

Buen día @FranciscoAn intenta con algo como esto (tienes que adaptarlo a tú consulta):

SELECT
T0.CardName, T0.Balance
FROM OCRD T0
WHERE T0.CardType =‘C’ AND T0.CardName NOT IN (SELECT TOP 30 T10.CardName FROM OCRD T10 WHERE T10.CardType =‘C’ ORDER BY T10.Balance DESC)

2 Me gusta

Muchas gracias @Oscar1900 funcionó, ahora la consulta se acerca a lo que necesito.

SELECT T0.“CardName” AS “Clientes Otros”, T0.“Balance” AS “Total”, COUNT(T0.“Balance”) AS "Contador " FROM OCRD T0 WHERE T0.“CardType” =‘C’ AND T0.“CardName” NOT IN (SELECT TOP 337 T10.“CardName” FROM OCRD T10 WHERE T10.“CardType”=‘C’ ORDER BY T10.“Balance” ASC) GROUP BY T0.“CardName”, T0.“Balance” ORDER BY T0.“Balance” DESC

Ahora lo que me faltaría es generar en la linea siguiente, es decir la 14, una fila que me sume en la columna saldo de cuenta, el total del saldo de todos los demas clientes que no estan en este top. como le puedo hacer? y que donde va el normbre, pueda escribir "“el resto de clientes”…

Muchas gracias de antemano.

saludos

Prueba algo como esto:

SELECT
T0.CardName’Cliente’,
T0.Balance’Saldo’
FROM OCRD T0
WHERE T0.CardType =‘C’ AND T0.CardName NOT IN (SELECT TOP 30 T10.CardName FROM OCRD T10 WHERE T10.CardType =‘C’ ORDER BY T10.Balance DESC)

UNION ALL

SELECT
’Total’,
SUM(T0.Balance)

FROM OCRD T0
WHERE T0.CardType =‘C’ AND T0.CardName NOT IN (SELECT TOP 30 T10.CardName FROM OCRD T10 WHERE T10.CardType =‘C’ ORDER BY T10.Balance DESC)

Saludos,

2 Me gusta

Este tema se cerró por inactividad por parte del autor.

Copia la URL de este debate, y abre un nuevo tema en #feedback si:

  • El autor del debate no marcó ninguna respuesta como solución, y tú crees tener la solución
  • Crees tener otra solución a la que actualmente está marcada.

Si, en cambio tienes una duda parecida a la que se debatió, o la misma duda, abre un nuevo tema en la categoría que corresponda y pon que el tema se debatió oportunamente (pega el enlace a este debate), así los otros lectores pueden saber de qué hablas.

Ayúdanos a tener una comunidad organizada.