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

Comparar registros en una misma tabla

Estas en el tema de Comparar registros en una misma tabla en el foro de SQL Server en Foros del Web. Hola a todos compañeros, nuevamente aquí dandoles guerra, pero necesito ayuda para saber como hacer una consulta que a mi se me ha tornado bastante ...
  #1 (permalink)  
Antiguo 29/03/2011, 14:17
 
Fecha de Ingreso: abril-2009
Mensajes: 78
Antigüedad: 15 años
Puntos: 0
Comparar registros en una misma tabla

Hola a todos compañeros, nuevamente aquí dandoles guerra, pero necesito ayuda para saber como hacer una consulta que a mi se me ha tornado bastante complicada así que solicito su ayuda, el hecho es que no se siquiera si se pueda, pero bueno les explico mi problema

Tengo una tabla donde esta el número de vendedor y otros datos y en otra tabla estan varios campos que es donde se contiene la informacion de la direccion del vendedor, pero el vendedor tiene dos codigos y lo que los diferencia es que uno al principio tiene las letras CI, como ejemplo para explicarme mejor es algo asi:

1002 y CI1002

los dos numeros pertenecen al mismo vendedor y en los dos deben tener los mismos datos de la direccion, y es aqui donde viene mi problema, lo que tengo que hacer es comparar todos los campos de la direccion de cada uno de ellos y que esten iguales, si no traer solamente los que son diferentes, pero no se si esto sea posible, dejo una consulta que abarca solamente los que tienen las letras CI para darles una idea y a ver si me pueden ayudar, la comparacion no se si me explique bien pero debe ser comparar por ejemplo la calle del vendedor 1002 con la calle del vendedor CI1002 y asi sucesivamente. He aqui el query

SELECT T0.[CardCode], T0.[CardName], T1.[Street], T1.[Block], T1.[ZipCode], T1.[City], T1.[Country], T1.[State] FROM OCRD T0 INNER JOIN CRD1 T1 ON T0.CardCode = T1.CardCode WHERE T0.[CardCode] Like 'CI%%'.

Por favor diganme si esto es posible y si tienen alguna idea ya que no se mucho de SQL server 2005 solo lo basico y estoy aprendiendo

Muchas Gracias
  #2 (permalink)  
Antiguo 29/03/2011, 14:34
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Comparar registros en una misma tabla

¿Porque no nos muestras la estructura de tus tablas?

Tengo una duda, cuando dices DOS CODIGOS, te refieres a que hay 2 registros en la misma tabla???
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 29/03/2011, 18:19
 
Fecha de Ingreso: abril-2009
Mensajes: 78
Antigüedad: 15 años
Puntos: 0
Respuesta: Comparar registros en una misma tabla

Cita:
Iniciado por iislas Ver Mensaje
¿Porque no nos muestras la estructura de tus tablas?

Tengo una duda, cuando dices DOS CODIGOS, te refieres a que hay 2 registros en la misma tabla???
Muchas gracias por responder, la estructura de las tablas es la siguiente:

Tabla OCRD---------------Tabla CRD1
CardCode-----------------CardCode
CardName-----------------Street
------------------------------Block
------------------------------ZipCode
------------------------------City
------------------------------Country
------------------------------State

CardCode es el numero de vendedor y es la llave primaria de OCRD y con esta se liga a la tabla CRD1 este numero de vendedor al cual me referia como codigo pero le llamaremos numero de vendedor, cada vendedor tiene dos veces el mismo registro lo que varia es la llave primaria osea el CardCode como un ejemplo pondre lo siguiente:

CardCode----1002
CardName----Jorge Lopez
Street---------Zacatitlan
Block-----------Bloque
ZipCode-------55690
Country--------Mexico
State-----------Mexico

Lo que quiero es comparar Street, Block, ZipCode, Country y State de ese numero con el del siguiente

CardCode----CI1002
CardName----Jorge Lopez
Street---------Zacatitlan
Block-----------Bloque
ZipCode-------55690
Country--------Mexico
State-----------Metsico

Y que traiga solo los que estan diferentes en alguno de sus campos o que me traiga todos no importa el punto es que se haga la consulta para hacer la comparacion debido a que en teoria deberian de estar iguales sus campos no como en el ejemplo que el campo de State es diferente Mexico-Metsico.

No se si esta vez lo expliqué un poco mejor, si no por favor diganme y me esfuerzo mas, agradezco mucho su valiosa ayuda, cualquiera que me pudieran dar.
  #4 (permalink)  
Antiguo 30/03/2011, 11:59
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Comparar registros en una misma tabla

De acuerdo, entonces esta seria la idea:

SELECT * FROM OCRD a INNER JOIN (SELECT SUBSTRING(CardCode, 3, LEN(CarCode)) as Cliente FROM CRD1 WHERE LEFT(CardCode, 2) = 'CL') AS b ON
a.CardCode = SUBSTRING(b.CardCode, 3, LEN(b.CarCode))
WHERE ...............Comparacion de campos distintos...............
__________________
MCTS Isaias Islas

Etiquetas: registros, tablas
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 09:10.