SQL - Leer string

 
Vista:

Leer string

Publicado por William (3 intervenciones) el 01/02/2013 18:28:17
Buenas tardes:

Tengo 2 tablas con la siguente estructura que pongo de ejemplo:
[Tabla ordenadores]
COMPUTER DESCRIPTION
PC1 Username: (juan)
PC2 Username: [Raquel]
PC3 Username: OrlandO
PC4 Username: CARLOS

y otra tabla con la siguente estructura:

[Tabla usuarios]
USERNAME COMPUTER
JUAN
RAQUEL
ORLANDO
CARLOS

He investigado como lo podria enlazar via sql y no doy con el algoritmo necesario (soy rookie)
Mi idea es hacer una consulta y que lea el campo description y si tiene una coincidencia con el campo username (sin que le afecte mayuscula o minuscula) de almenos 4 caracteres del string, que anexe el valor del campo [Tabla ordenadores]\COMPUTER a [Tabla usuarios]\COMPUTER

Agradecido de antemano,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Leer string

Publicado por Isaias (1921 intervenciones) el 01/02/2013 19:02:39
¿Que motor de base de datos ocupas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer string

Publicado por William (3 intervenciones) el 01/02/2013 20:21:47
Suelo trabajar desde access, diseñando consultas desde SQL. Pero lo dicho, soy novel y no me importaria si hubiera alternativa a través de excell por ejemplo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Leer string

Publicado por Isaias (1921 intervenciones) el 01/02/2013 19:26:02
Codigo para SQL Server

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
create table #t1 (computer varchar(50), description varchar(50))
create table #t2 (username varchar(50), computer varchar(50))
 
insert into #t1 values('PC1','(juan)')
insert into #t1 values('PC2','[Raquel]')
insert into #t1 values('PC3','OrlandO')
insert into #t1 values('PC4','CARLOS')
 
insert into #t2 (username) values('JUAN')
insert into #t2 (username) values('RAQUEL')
insert into #t2 (username) values('ORLANDO')
insert into #t2 (username) values('CARLOS')
 
update #t2 set computer = #t1.computer
from #t1 inner join #t2 on (REPLACE(REPLACE(REPLACE(REPLACE([DESCRIPTION], '[', ''),']',''),'(',''),')',''))
= [USERNAME]
 
SELECT * FROM #t2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer string

Publicado por William (3 intervenciones) el 01/02/2013 20:24:05
Antes de nada, muchas gracias por el código proporcionado.

Mi duda es si es factible utilizar este código para 2500 registros que tiene la tabla real, pues habria que poner entrecomillado el nombre de usuario de cada usuario.¿es correcto lo que digo?

Agradecido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Leer string

Publicado por Isaias (1921 intervenciones) el 08/02/2013 04:37:25
Yo segui el ejemplo de datos que nos diste, de que es factible, claro que es factible, todo dependera de como lo adecues para tus propositos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar