Foros del Web » Programación para mayores de 30 ;) » .NET »

Separacion por Coma

Estas en el tema de Separacion por Coma en el foro de .NET en Foros del Web. Necesito seleccionar datos de un campo dependiendo donde este ubicado un numero el cual esta separado por coma..por ejemplo tengo un codigo el cual esta ...
  #1 (permalink)  
Antiguo 21/07/2012, 14:06
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 9 meses
Puntos: 2
Separacion por Coma

Necesito seleccionar datos de un campo dependiendo donde este ubicado un numero el cual esta separado por coma..por ejemplo tengo un codigo el cual esta de la sig manera:

Campo A
2 ;1 ;;;

campo B

10;12;15;

necesito que me tome del campo B donde esta ubicado el No 2 del campo A, en este caso el numero a obtener seria el 10, el codigo que tengo hace eso sin problemas.....el problema es cuando el no. 2 esta de la siguiente manera:

Campo A
1 ;2 ;;;

campo B

10;12;15;

aqui el campo que necesito obtener es el 12..pero mi codigo no lo hace...alguien me puede ayudar, saludos

SELECT distinct tnum,type,
substring(PAYAMT, 1, charindex(';', payamt)-1) payamt,
substring(payamt, charindex(';', payamt)+1, len(PAYAMT)) payamt
FROM sales2 WHERE (([PAYTYPE] LIKE '%' + '2' + '%')) AND ([IDATE] >= '2012-07-19') AND ([IDATE] <= '2012-07-19') and SID ='5'
  #2 (permalink)  
Antiguo 26/07/2012, 09:54
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Separacion por Coma

Nadie le sabe....?
  #3 (permalink)  
Antiguo 26/07/2012, 10:06
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Separacion por Coma

Hola mrprogman .Probablemente no te explicaste bien.. porque por mi parte no entiendo... Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #4 (permalink)  
Antiguo 26/07/2012, 10:13
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Separacion por Coma

Tampoco te entendí nada, tampoco explicas estos datos donde los tienes en un archivo de texto una bd.
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #5 (permalink)  
Antiguo 26/07/2012, 10:43
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Separacion por Coma

estoy haciendo una consulta a una bd de sql server..a un campo llamado PAYTYPE, en ese campo estoy buscando que me muestre todos los registro que tienen un numero 2, este campo esta separado por comas EJEMPLO (2 ;1;;;), al mismo tiempo en otro campo llamado PAYAMT me busca la primera cifra separada por comas correspondiente al mismo registro (20;-60;0;0;0 )


ejemplo:

paytype (2 ;1;;;)
Payamt (20;-60;0;0;0 )
Resultado: 20

El problema es cuando el No. 2 del campo PAYTYPE NO ESTA EN EL PRIMER REGISTRO

ejemplo:

paytype (1 ;2;;;)
Payamt (20;-60;0;0;0 )
EL RESULTADO TENDRIA QUE SER
Resultado: -60

pero sigo obteniendo el 20, es decir no se como recorrer la busqueda del campo dependiendo de la ubicacion del campo no 2...espero haberme explicado..anexo el codigo que tengo..el cual hace el primer ejemplo pero no me cumple con la segunda condicion...gracias por sus respuestas


SELECT distinct tnum,type,
substring(PAYAMT, 1, charindex(';', payamt)-1) payamt,
substring(payamt, charindex(';', payamt)+1, len(PAYAMT)) payamt
FROM sales2 WHERE (([PAYTYPE] LIKE '%' + '2' + '%')) AND ([IDATE] >= @idate) AND ([IDATE] <= @idate2)
  #6 (permalink)  
Antiguo 26/07/2012, 11:43
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Separacion por Coma

Si lo quieres hacer sólo con SQL deberías preguntar mejor en la sección de SQL Server.

En caso de que lo pudieses hacer en la aplicación (que sería lo recomendable quizás), podrías traerte sólo los registros que cumplan la condición (que tengan un 2) y sacar el valor que deseas en la aplicación.

Código SQL:
Ver original
  1. SELECT DISTINCT tnum,TYPE,PAYAMT, PAYTYPE
  2. FROM sales2
  3. WHERE (([PAYTYPE] LIKE '%' + '2' + '%'))
  4. AND ([IDATE] >= @idate) AND ([IDATE] <= @idate2)

Y luego en aplicación sacas el valor que deseas. Si te vale y no sabes como, te ayudo. Si necesitas hacerlo en SQL pregunta en el foro adecuado.

Saludos.
  #7 (permalink)  
Antiguo 26/07/2012, 12:02
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Separacion por Coma

Ok..como lo harias desde la aplicacion..?.utilizo visual studio 2008, asp.net...saludos y gracias por tu respuesta
  #8 (permalink)  
Antiguo 26/07/2012, 12:08
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Separacion por Coma

si es por aplicacion los pasas a un array mediante un split. y alli juegas con los indices para hacer lo que buscar.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: coma, separacion
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 17:20.