Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/08/2014, 00:00
Avatar de skiper0125
skiper0125
 
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Obtención de columna muy larga CAST no cumple petición

Buenas noches maestros.

La problematica que se me presenta es la siguiente: realizo una consulta en la cual una de las columnas es muy larga, y en base a eso no puedo obtener todos los datos que necesito, eh utilizado el cast pero no resulta, pues me corta la información.

Esta es la consulta sql que genere

Código SQL:
Ver original
  1. SELECT tablaAsignacion.*, rutaZona.nombre, rutaZona.distancia, tablaPuntos.puntos FROM
  2.     (
  3.         SELECT group_concat(id) AS asignaciones, idRuta, group_concat(idGps) AS vehiculos,
  4.         reversible, DATE(salidaEsperada) AS salida FROM asignacionRuta WHERE idGps IN(SELECT
  5.         idGps FROM ligaUnidad WHERE idVehiculo IN(2070,2071,1748,1953,1750,1751,1752,1754,1753,
  6.         1821,1936,1822,1823,1939,1930,1938,1937,1941,1946,1947,2066,1949,1954,1951,1969,1952,2072,
  7.         1985,1998,1997,1984,2036,2040,2039,2035,2085,2560) AND arbolOrganizacion IN(SELECT nombre
  8.         FROM empresas WHERE id='951') AND activo= '1') AND activo= '1'
  9.         AND salidaEsperada <= NOW() GROUP BY idRuta, reversible ORDER BY idRuta
  10.     ) AS tablaAsignacion
  11. LEFT OUTER JOIN
  12.     rutaZona ON rutaZona.id=tablaAsignacion.idRuta
  13. LEFT OUTER JOIN
  14.     (
  15.         SELECT
  16.         CAST(REPLACE(group_concat(concat(descripcion,'[!!]', distanciaAcumulada, '[!!]', tipo)), ',', '|')  AS CHAR(1000000)
  17.                CHARACTER SET utf8) puntos, idRutaZona FROM coordenadas WHERE tipo<>'PUNTO' GROUP BY idRutaZona
  18.     ) AS tablaPuntos ON tablaPuntos.idRutaZona=tablaAsignacion.idRuta

El problema antes mencionado se presenta en esta parte de la sentencia, ya que necesito que la columna pueda soportar una longitud mayor a 5000 caracteres y no lo eh podido conseguir .

Código SQL:
Ver original
  1. CAST(REPLACE(group_concat(concat(descripcion,'[!!]', distanciaAcumulada, '[!!]', tipo)), ',', '|')  AS CHAR(1000000)
  2. CHARACTER SET utf8) puntos

Espero alguien pueda ayudarme, de antemano les agradezco su atención.
Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125