Ir al contenido


Foto

Un grid con registros raros...


  • Por favor identifícate para responder
2 respuestas en este tema

#1 razadi

razadi

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 681 mensajes
  • LocationMéxico D.F.

Escrito 31 mayo 2011 - 03:37

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. (b)


  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 31 mayo 2011 - 03:47

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.
  • 0

#3 razadi

razadi

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 681 mensajes
  • LocationMéxico D.F.

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



  • 0




IP.Board spam blocked by CleanTalk.