Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/01/2013, 14:17
ComprasDesdeCasa
 
Fecha de Ingreso: octubre-2008
Mensajes: 127
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Consulta Sql o Sp usando MySql

Supongo que las selects para identificar quiénes son los asistentes y los representados las tienes claras y que, por separado, es decir, sin usar la sentencia UNION, te funcionan correctamente.
Ahora, lo que te falta es saber cómo obtener, para la de asistentes, un ordinal que, para los representados, estará en blanco.

Supongamos que tienes, para la consulta de los asistentes, una query del tipo:

Código MySQL:
Ver original
  1.   TABLA1.CAMPO1,
  2.   TABLA1.CAMPO2,
  3.   TABLA1.CAMPO3
  4.   TABLA1
  5.   CONDICION1 AND
  6.   CONDICION2;

La deberías transformar del siguiente modo:
Código MySQL:
Ver original
  1.   @contador:=@contador+1,
  2.   TABLA1.CAMPO1,
  3.   TABLA1.CAMPO2,
  4.   TABLA1.CAMPO3
  5.   (SELECT @contador:=0) CONTADOR,
  6.   TABLA1
  7.   CONDICION1 AND
  8.   CONDICION2;

De este modo, ya tienes un contador ordinal de cada uno de los registros que buscas.

Ahora bien, para la consulta de los representados, supongamos que tienes la consulta tipo siguiente:

Código MySQL:
Ver original
  1.   TABLA2.CAMPO1,
  2.   TABLA2.CAMPO2,
  3.   TABLA2.CAMPO3
  4.   TABLA2
  5.   CONDICION1 AND
  6.   CONDICION2;

La deberías convertir en lo siguiente:

Código MySQL:
Ver original
  1.   NULL,
  2.   TABLA2.CAMPO1,
  3.   TABLA2.CAMPO2,
  4.   TABLA2.CAMPO3
  5.   TABLA2
  6.   CONDICION1 AND
  7.   CONDICION2;

Si te fijas, en lugar del ordinal, te mostrará un valor NULL.

Cuando realices la query con el UNION, tendrás por un lado los asistentes con un ordinal y los representados con un NULL.

Espero que te sirva.

Saludos.