![]() |
problema sql primeros elementos
tengo un problema con una sql. Imaginemos una tabla con id_cliente e id_factura
yo quiero sacar todas aquellas facturas que cumplan una condicion(hasta ahi perfecto), pero solo aquellas cuyo cliente no tenga una factura posterior, osea q ese cleinte no tenga una id_factura superior, ademas las facturas posteriores no tienen xq cumplir la condicion de las facturas que busco. Le estoy dando vueltas y vueltas y no consigo hacerlo en una sola sql. A ver si podeis echarme una mano Gracias |
No sé si he entendido bien tu pregunta. A lo mejor la podrías detallar un poco más.
En cualquier caso, si ya tienes la id_factura para la cual quieres imponer la condición de búsqueda, simplemente bastaría con agregarle esa condición adicional al select diciendo que todas aquellas facturas que sean superiores a ese id_factura que tienes, pues no se listen. Si no es este el caso, deberías pensar a lo mejor en select anidado. Si detallas un poco más, a lo mejor es más fácil dar con una solución. Saludos |
no el id_factura no le se xq la select me tiene que devolver varias facturas.Expecifico mas
imaginate que quiero todas las facturas que superen los 100 euros pero de ellas solo aquellas cuyos clientes no tengan otra factura posterior. No se si este ejemplo es mas especifico |
Sigo sin entender a qué te refieres cuando dices '... cuyos clientes no tengan otra factura posterior'.
Posterior a qué factura ? Qué condición es la que impones ? Sigo diciendo que pruebes con un Select anidado : algo así como
No sé si esto te sirve de ayuda. |
ante todo gluglu, gracias por echarme una mano, lo de lso clientes que no tengan una factura posterior a ver si me puedo explicar mejor
imaginate q tengo el cliente 1 , el 2 , l 3 y el 4 id_cliente id_factura total 1 1 125 2 2 150 2 3 115 3 4 140 el resultado de la consulta que quiero hacer , me deberia devolver todos menos el segundo registro, el de 150 euros, xq ese cliente tiene una factura posterior, pero si me deberia devolver el registro de 115 , xq auqnue es del mismo cliente, esa factura no tiene otra posterior para ese cliente, no se si asi queda mas claro |
a ver voy a suponer que tu condicion es la fecha si tu gestor soporta consultas anidadas podrias intentar:
ojala os sirva |
hola, gracias droguerman.
El problema con el que me encuentro en tu sql es que la fecha de la 2º select no la tengo, no puedo ponerla, ya que seria la fecha la factura resultante de la propia select, no se si me explico. Si estoy buscando facturas apartir del 1 enero que no haya posteriormente mas facturas de ese cliente, la fecha de la 2º sql no seria 1 de enero, seria la fecha de facturacion de la primera factura de ese cliente, no se si se entiende |
Algo así como esto :
|
MUCHISIMAS GRACIAS
en realidad no necesitaba el elemento maximo, sino saber si hay alguno posterior, asi que cambiando el max por un count en tu sql me ha valido, te agradezco muchisimo la solucion un saludo |
La franja horaria es GMT +2. Ahora son las 06:31:23. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi