Que tal ammigos, bien pues aca ando nuevamente, despejandome un poco de tanto trabajo, y miren traigo una ocurrencia de mi cliente, yo sé que aquí me ayudaran a solucionarlo, les platico:
Tengo una tabla con estos campos
Id, nombre, edo
1 algo OK
2 algo 2 OK
6 algo 2y NO
7 algo 2t OK
8 algo OK
5 algo OK
9 algo r2 OK
12 algo s2 NO
23 algo x OK
bueno mi cliente quiere que le de un reporte en un grid de los registros que tengan edo=NO, a pero eso no es todo quiere que en ese grid me aparezcan los registros de arriba y de abajo del registro con edo NO, es decir, el quiere ver algo asi:
2 algo 2 OK
6 algo 2y NO
7 algo 2t OK
9 algo r2 OK
12 algo s2 NO
23 algo x OK
Alguna sugerencia???
Gracias de antemano y saludos.
Un grid con registros raros...
Comenzado por
razadi
, may 31 2011 03:37
2 respuestas en este tema
#1
Escrito 31 mayo 2011 - 03:37
#2
Escrito 31 mayo 2011 - 03:47
Saludos.
Yo haría un UNION con las sentencias siguientes (no uso MYSQL):
Algo así, esa es una idea básica.
Yo haría un UNION con las sentencias siguientes (no uso MYSQL):
SELECT * FROM TABLA LIMIT 1 ORDER BY ID ASC
UNION
SELECT * FROM TABLA WHERE EDO = 'NO'
UNION
SELECT * FROM TABLA LIMIT 1 ORDER BY ID DESC
Algo así, esa es una idea básica.
#3
Escrito 31 mayo 2011 - 03:58
Saludos.
Yo haría un UNION con las sentencias siguientes (no uso MYSQL):
SELECT * FROM TABLA LIMIT 1 ORDER BY ID ASC
UNION
SELECT * FROM TABLA WHERE EDO = 'NO'
UNION
SELECT * FROM TABLA LIMIT 1 ORDER BY ID DESC
Algo así, esa es una idea básica.
Gracias amigo si fijate que pensamos similar, despues de postear se me ocurrio algo asi y lo lleve a la practica
select * from detalleinventa where dei_id in (select (dei_id-1) from detalleinventa where dei_edo='NO')
union
select * from detalleinventa where dei_id in (select dei_id from detalleinventa where dei_edo='NO')
union
select * from detalleinventa where dei_id in (select (dei_id+1) from detalleinventa where dei_edo='NO')
order by 1