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

extraer una cadena del resultado de una consulta

Estas en el tema de extraer una cadena del resultado de una consulta en el foro de SQL Server en Foros del Web. Hola a todos, tengo un inconveniente. Cuando tiro esta consulta Código: SELECT [version].[link] FROM [version], [documentlink] WHERE [documentlink].[idfolder]='560' AND [documentlink].[iddocument]=[version].[iddocument] AND [version].[link] like '%@2' Me ...
  #1 (permalink)  
Antiguo 03/09/2008, 16:20
Avatar de jamgmg  
Fecha de Ingreso: marzo-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta extraer una cadena del resultado de una consulta

Hola a todos, tengo un inconveniente. Cuando tiro esta consulta
Código:
SELECT [version].[link] FROM [version], [documentlink] 
WHERE [documentlink].[idfolder]='560'
AND [documentlink].[iddocument]=[version].[iddocument]
AND [version].[link] like '%@2'
Me devuelve como resultado:
Cita:
174@2
Hasta aqui todo bien, lo que necesito, es tomar el 174 solito y usarlo para una nueva consulta. Se me ocurre hacerlo con php, pero supongo que debe haber otra forma de hacerlo con selects anidados sin tener que salir del motor de la base de datos y recibir los datos que necesito.
Muchas gracias
  #2 (permalink)  
Antiguo 03/09/2008, 16:47
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: extraer una cadena del resultado de una consulta

esta es la respuesta :D

SELECT substr([version].[link],1,3) FROM [version], [documentlink]
WHERE [documentlink].[idfolder]='560'
AND [documentlink].[iddocument]=[version].[iddocument]
AND [version].[link] like '%@2'


esto es algo en hard code pero lo opcional seria esto

SELECT substr([version].[link],1,charindex('@',[version].[link])) FROM [version], [documentlink]
WHERE [documentlink].[idfolder]='560'
AND [documentlink].[iddocument]=[version].[iddocument]
AND [version].[link] like '%@2'

Última edición por martypm; 03/09/2008 a las 16:55
  #3 (permalink)  
Antiguo 04/09/2008, 07:45
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: extraer una cadena del resultado de una consulta

Yo agregaria los JOIN, en lugar de la codificacion antigua

SELECT LEFT([version].[link],3)
FROM [version] JOIN [documentlink]
ON [documentlink].[iddocument]=[version].[iddocument]
WHERE [documentlink].[idfolder]='560'
AND [version].[link] like '%@2'
  #4 (permalink)  
Antiguo 04/09/2008, 08:21
Avatar de jamgmg  
Fecha de Ingreso: marzo-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: extraer una cadena del resultado de una consulta

Hola, probe todos y todos funcionan muy bien a excepcion de un detalle. El codigo 174, podria ser de mas o menos cifras, es decir, el limitante es @. El SQL propuesto por Martypm:
Cita:
SELECT substr([version].[link],1,charindex('@',[version].[link])) FROM [version], [documentlink]
WHERE [documentlink].[idfolder]='560'
AND [documentlink].[iddocument]=[version].[iddocument]
AND [version].[link] like '%@2'
Funciona, pero me bota el codigo con @, y necesito solo los numeros.

Muchas gracias por la ayuda
  #5 (permalink)  
Antiguo 04/09/2008, 08:38
Avatar de jamgmg  
Fecha de Ingreso: marzo-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: extraer una cadena del resultado de una consulta

Hola, ya lo resolvi, usando el sql de martypm, hice 2 pequenhas modificaciones y listo.
Cita:
SELECT substring([version].[link],0,charindex('@',[version].[link])) FROM [version], [documentlink]
WHERE [documentlink].[idfolder]='560'
AND [documentlink].[iddocument]=[version].[iddocument]
AND [version].[link] like '%@2'
Muchas gracias por su ayuda!!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:02.