Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-12-2011
Avatar de CHECHE81
CHECHE81 CHECHE81 is offline
Miembro
 
Registrado: may 2007
Ubicación: Huauchinango, Puebla
Posts: 64
Poder: 17
CHECHE81 Va por buen camino
Talking Mostrar Union ordenada por separado y por colores...

Saludos Delphileros jojo
Pues con la novedad que me tope con un detalle después de hacer un UNION en una consulta en MySQL:
Código SQL [-]
Select * from ( SELECT usu.id,usu.name, usu.username, usu.role, coalesce((pup.id >1 ), 2) pid 
FROM jos_permiso_usr_plantel as pup, plantel_datosgen as pdg,  jos_usuarios as usu 
where pdg.id = pup.idplantel and  pup.idusuario= usu.id and 
pup.sTipoActor= : prol and  pdg.id=: pidplantel  order by pup.id   ) A
   UNION ALL  
Select * from   (   SELECT usu.id, usu.name, usu.username, usu.role, usu.block  
FROM jos_usuarios as usu   
where usu.id not in (  SELECT usu.id 
FROM jos_permiso_usr_plantel as pup, plantel_datosgen as pdg,  jos_usuarios as usu 
where pdg.id = pup.idplantel 
and  pup.idusuario= usu.id and  pup.sTipoActor= : prol and  pdg.id=: pidplantel) 
and usu.role = : prol  order by usu.block   ) B order by 5,2 asc
todo esta perfecto, el detalle es al momento de mostrarlo al usuario, lo que se pretende es mostrar ambas
consultas ordenadas ascendentenmente pero por separado como dicen "Juntas pero no revueltas" ,
mostrandose de un color los registros de la primera consulta y de otro color los de la segunda en orden
ascendente por el campo name por cada consulta. Esto se requiere para mostrar en el mismo cxGrid una
consulta de usuarios de los cuales se clasifican en un grupo de usuarios solo si cumplen ciertos parámetros
asi se me ocurrio jojo y la idea surgio al ver el software QlickView como lo muestra en la imagen siguiente:

Ya logro que me pinte los registros de diferentes colores en el cxGrid dependiendo de cierto parámetro
en la consulta pero me sale toda la consulta ordenada por el campo name y ahi es donde se revuelven
ambas consultas... espero sus comentarios.
Gracias por su tiempo...
__________________
Cuidemos el medio ambiente....jojo

Última edición por CHECHE81 fecha: 06-12-2011 a las 20:02:51.
Responder Con Cita
  #2  
Antiguo 06-12-2011
Avatar de thecidmx
thecidmx thecidmx is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 93
Poder: 13
thecidmx Va por buen camino
Cool se me ocurre

se me ocurre que crees varias tablas de memoria una por consulta, con eso no se te generara un revoltijo, y luego ues los datos en el grid, para generar el diagrama. puesde usar el tmemory de jvcl.
__________________
La mejor forma de aprender es, compartir el conocimiento adquirido.
Responder Con Cita
  #3  
Antiguo 06-12-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
pienso que en la consulta deberias agregar un campo numerico, donde lo rellenes con el valor 1 para la primera consulta y el valor 2 para la segunda

luego el orden seria... ese campo numerico + la descripcion... asi por mas que la descripcion sea igual no se juntara por el primer orden
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 07-12-2011
Avatar de CHECHE81
CHECHE81 CHECHE81 is offline
Miembro
 
Registrado: may 2007
Ubicación: Huauchinango, Puebla
Posts: 64
Poder: 17
CHECHE81 Va por buen camino
Thumbs up

Gracias por sus cometarios thecidmx, oscarac, ya quedo el show, lo que paso fue que estaba mal armada la consulta y si mi estimado oscarac ya tenia esos campos pero faltaba acomodarlos para que arrojara la consulta correcta, tienes toda la razón con respecto a ordenarlos de acuerdo al campo numérico y después por nombre jojo y ya se pueden visualizaran en el cxGrid como en la imágen de arriba.
Les dejo la consulta por si le sirve a alguien más y muchismas gracias por su tiempo.

Código SQL [-]
Select * from
(SELECT usu.id, usu.name, usu.username, usu.role,COALESCE(pup.id>1 ,2) pid
FROM jos_permiso_usr_plantel as pup,
plantel_datosgen as pdg, 
jos_usuarios as usu
where pdg.id = pup.idplantel and
 pup.idusuario= usu.id and 
pup.sTipoActor= : prol and
 pdg.id=: pidplantel
and usu.block =0
order by  pid desc, name
) A

 
 UNION

 SELECT  usu.id, usu.name, usu.username, usu.role, usu.block
 FROM jos_usuarios as usu 
 where usu.id not in (
 SELECT usu.id FROM jos_permiso_usr_plantel as pup,
plantel_datosgen as pdg, 
jos_usuarios as usu
where pdg.id = pup.idplantel and
 pup.idusuario= usu.id and 
pup.sTipoActor=: prol and
 pdg.id=: pidplantel) and usu.role = : prol
 and usu.block =0
 order by pid desc, name
__________________
Cuidemos el medio ambiente....jojo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Búsqueda de archivos ordenada por fecha Faust Varios 10 26-07-2010 16:43:21
consulta agrupada y ordenada ZLEON SQL 4 19-11-2008 15:19:11
Mostrar texto en 2 colores, en celda dbgrid Renees Varios 2 24-01-2006 15:59:51
Cómo almacenar y mostrar colores? Gabriel2 Varios 3 23-08-2005 15:05:19
Consulta de union ordenada Eolo SQL 2 05-07-2004 15:37:42


La franja horaria es GMT +2. Ahora son las 14:04:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi