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

Omitir corchetes para igual dos campos

Estas en el tema de Omitir corchetes para igual dos campos en el foro de SQL Server en Foros del Web. Que tal! Necesitaría alguna función para que pudiera igualar dos campos de dos tablas que tienen los mismos datos pero un campo de ellos tiene ...
  #1 (permalink)  
Antiguo 18/07/2014, 12:10
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 14 años
Puntos: 1
Omitir corchetes para igual dos campos

Que tal!


Necesitaría alguna función para que pudiera igualar dos campos de dos tablas que tienen los mismos datos pero un campo de ellos tiene corchetes, lo cual al igualarlos, no los reconoce como iguales,ej:

Trama = C0833-TASA-12-8076

Observaciones = [C0833-TASA-12-8076]

Slds!
  #2 (permalink)  
Antiguo 18/07/2014, 12:16
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Omitir corchetes para igual dos campos

Código SQL:
Ver original
  1. SELECT '[' + trama + ']' AS trama FROM tabla
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 18/07/2014, 12:28
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 14 años
Puntos: 1
Respuesta: Omitir corchetes para igual dos campos

Cita:
Iniciado por Libras Ver Mensaje
Código SQL:
Ver original
  1. SELECT '[' + trama + ']' AS trama FROM tabla

Intenté eso y no me funcionó. Te dejo el ejemplo con la query:


Código SQL:
Ver original
  1. SELECT * FROM trails
  2. WHERE (rotulo LIKE 'A0041A8660')
  3. AND (subeq LIKE 'SL02-M0')
  4. AND (trama NOT LIKE 'VAC')
  5. AND (trama IN (SELECT observaciones FROM tramas))


Me trae los campos vacíos ya que si bien trama y observaciones tienen muchas coincidencias, los corchetes cortan la condición igualitaria.
  #4 (permalink)  
Antiguo 18/07/2014, 13:42
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Omitir corchetes para igual dos campos

Compañero, la clausula LIKE, es para buscar "algo parecido" y usted debe hacerlo por =

Código SQL:
Ver original
  1. WHERE (rotulo = 'A0041A8660')
  2.  
  3. 3.AND (subeq = 'SL02-M0')
  4.  
  5. 4.AND (trama <> 'VAC')

Además de que ya tratamos al cansancio el NO uso del IN(subquery)
__________________
MCTS Isaias Islas
  #5 (permalink)  
Antiguo 18/07/2014, 13:47
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 14 años
Puntos: 1
Respuesta: Omitir corchetes para igual dos campos

Perfecto ¿Ahora con el tema de los corchetes que hacemos?
  #6 (permalink)  
Antiguo 18/07/2014, 13:49
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Omitir corchetes para igual dos campos

usando like porque no usas esto:

Código SQL:
Ver original
  1. SELECT * FROM trails
  2. WHERE (rotulo LIKE '%A0041A8660%')
  3. AND (subeq LIKE '%SL02-M0%')
  4. AND (trama NOT LIKE '%VAC%')
  5. AND (trama IN (SELECT observaciones FROM tramas))

que para eso estan los comodines % no ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 18/07/2014, 13:54
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 14 años
Puntos: 1
Respuesta: Omitir corchetes para igual dos campos

Cita:
Iniciado por Libras Ver Mensaje
usando like porque no usas esto:

Código SQL:
Ver original
  1. SELECT * FROM trails
  2. WHERE (rotulo LIKE '%A0041A8660%')
  3. AND (subeq LIKE '%SL02-M0%')
  4. AND (trama NOT LIKE '%VAC%')
  5. AND (trama IN (SELECT observaciones FROM tramas))

que para eso estan los comodines % no ;)


Los likes no son importantes en la query, olvidenlos. Necesito traer los registros donde las tramas esten en el campo observaciones y no puedo porque estorban los corchetes.

Código SQL:
Ver original
  1. SELECT * FROM trails
  2. WHERE trama IN (SELECT observaciones FROM tramas)
  #8 (permalink)  
Antiguo 18/07/2014, 14:00
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Omitir corchetes para igual dos campos

para que es un like???? para comparar cadenas con alguna similitud, pero ok, ese no es tu problema tu problema es otro:

esta es una:
Código SQL:
Ver original
  1. SELECT * FROM trails
  2. WHERE '[' + trama + ']' IN (SELECT observaciones FROM tramas)


esta es otro:
Código SQL:
Ver original
  1. SELECT * FROM(
  2. SELECT '[' + trama + ']' AS trama FROM trails) AS t1
  3. WHERE trama  IN (SELECT observaciones FROM tramas)

o remuevelos

Código SQL:
Ver original
  1. SELECT * FROM trails
  2. WHERE trama IN (SELECT REPLACE(REPLACE(observaciones,'[',''),']','') AS observaciones FROM tramas)

tan dificil es pensarlo un poquito???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 18/07/2014 a las 14:14
  #9 (permalink)  
Antiguo 18/07/2014, 14:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Omitir corchetes para igual dos campos

y como eso resuelve la duda ya no tenemos mas comentarios.......pero si me equivoco luego luego contestan.....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campo, campos, igual, omitir, tabla
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:58.