Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Un registro separado por un caracter

Estas en el tema de Un registro separado por un caracter en el foro de Oracle en Foros del Web. Hola a todos!! Tengo una duda, lo que pasa es que estoy haciendo un schema y lo traigo de la base de datos mi pregunta ...
  #1 (permalink)  
Antiguo 06/06/2013, 10:40
Avatar de calakra  
Fecha de Ingreso: septiembre-2009
Mensajes: 182
Antigüedad: 15 años, 2 meses
Puntos: 0
Un registro separado por un caracter

Hola a todos!!

Tengo una duda, lo que pasa es que estoy haciendo un schema y lo traigo de la base de datos mi pregunta es, como le hago para que en lugar de que me traiga varios registros lo regrese en un solo registro separado por un carácter, estoy en 10G, recuerdo que había una función en Oracle para hacer esto.

de antemano muchas gracias
  #2 (permalink)  
Antiguo 07/06/2013, 08:32
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: Un registro separado por un caracter

Concat ?....
  #3 (permalink)  
Antiguo 07/06/2013, 09:11
Avatar de calakra  
Fecha de Ingreso: septiembre-2009
Mensajes: 182
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Un registro separado por un caracter

Hola, gracias por responder, yno, no es eso lo que busco digamos que tengo un select que me trae un campo,

Select columna from tabla;

el cual me regresa la información de la siguiente forma

columna
reg1
reg2
reg3
...

Lo que yo busco es que esos registros solo estén en un campo separado por un carácter

reg1,reg2,reg3...

Espero que con eso ya quede mas claro mi problema. gracias!
  #4 (permalink)  
Antiguo 08/06/2013, 07:16
Avatar de zarwar  
Fecha de Ingreso: mayo-2013
Ubicación: Madrid
Mensajes: 77
Antigüedad: 11 años, 6 meses
Puntos: 4
Respuesta: Un registro separado por un caracter

Creo que te refieres a las funciones de Oracle 11G Pivot y unpivot.

Te pongo un enlace de uso:
http://www.um.es/atica/sql---pivot
__________________
Entra en mi blog sobre base de datos Oracle:
http://mundodb.es
  #5 (permalink)  
Antiguo 12/06/2013, 13:42
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 17 años
Puntos: 3
Respuesta: Un registro separado por un caracter

La solucion del Pivote no aplica a 10g, a 9i y a versiones anteriores y la necesidad existe... entonces????

Le decimos que la solucion es comprar una version mas nueva de la BD??

Vamos muchachos !!!!

Esto se soluciona de la siguiente manera:

Código SQL:
Ver original
  1. SELECT MAX(C_REG_1) C_REG_1,
  2.        MAX(C_REG_2) C_REG_2,
  3.        MAX(C_REG_3) C_REG_3,
  4.        MAX(C_REG_4) C_REG_4,
  5.        MAX(C_REG_5) C_REG_5
  6.   FROM (
  7. SELECT DECODE(COLUMNA, 'REG1', COLUMNA, NULL) C_REG_1,
  8.        DECODE(COLUMNA, 'REG2', COLUMNA, NULL) C_REG_2,
  9.        DECODE(COLUMNA, 'REG3', COLUMNA, NULL) C_REG_3,
  10.        DECODE(COLUMNA, 'REG4', COLUMNA, NULL) C_REG_4,
  11.        DECODE(COLUMNA, 'REG5', COLUMNA, NULL) C_REG_5
  12.   FROM TABLA
  13.        )

La ventaja es que no tienes que esperar hasta el 11g y la desventaja es que tienes que definir de antemano las columnas.

Exitos.
Saludos,
Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.

Última edición por gnzsoloyo; 12/06/2013 a las 18:49
  #6 (permalink)  
Antiguo 12/06/2013, 14:34
Avatar de zarwar  
Fecha de Ingreso: mayo-2013
Ubicación: Madrid
Mensajes: 77
Antigüedad: 11 años, 6 meses
Puntos: 4
Respuesta: Un registro separado por un caracter

Calma yo sólo intento ayudar.

Yo lo comentaba, porque le sonaba una función y la única función que sé me ocurría son pivot y unpivot. He dejado bien clara la versión. Si bien no es la solución a su problema.

Un saludo
__________________
Entra en mi blog sobre base de datos Oracle:
http://mundodb.es

Etiquetas: registro, separado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:29.