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

msSql: where campo1 & camo2 &campo3 Not in (sele..) ?

Estas en el tema de msSql: where campo1 & camo2 &campo3 Not in (sele..) ? en el foro de Bases de Datos General en Foros del Web. hola.. necesito realizar una comparaciòn por la suma de 3 campos... es decir algo como : select * from tabla where Campo1 & campo2 & ...
  #1 (permalink)  
Antiguo 04/02/2005, 08:56
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 1 mes
Puntos: 3
msSql: where campo1 & camo2 &campo3 Not in (sele..) ?

hola.. necesito realizar una comparaciòn por la suma de 3 campos...

es decir algo como :

select * from tabla
where Campo1 & campo2 & campo3 Not in (Select Codigo1 & Codigo2 & codigo3)


es decir que una los textos y asì poder comparar por 3 còidigos simultàneos.... Se entiende??
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #2 (permalink)  
Antiguo 04/02/2005, 10:57
Avatar de gualicho  
Fecha de Ingreso: enero-2005
Ubicación: Capital Federal - Argentina
Mensajes: 55
Antigüedad: 19 años, 10 meses
Puntos: 0
no seria mejor un:
where campo1=codigo1 and campo2=codigo2 and campo3=codigo3
???? Digo, porque compararlos asi es exactamente lo mismo que concatenandolos...
a menos que quieras que los tres primeros campos "esten contenidos" en los otros tres, entonces seria asi:
where campo1 like '%codigo1' and campo2=codigo2 and campo3 LIKE 'codigo3%'
Saludossss
  #3 (permalink)  
Antiguo 04/02/2005, 12:33
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 11 meses
Puntos: 11
select * from tabla
where Campo1 + campo2 + campo3 Not in (Select Codigo1 + Codigo2 + codigo3 )

es suma no ?
__________________
Jorge Mota
Blog
Gubiz estafa
  #4 (permalink)  
Antiguo 04/02/2005, 13:41
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 1 mes
Puntos: 3
SISI.. lo que dice jorge me sirviò... pero tuve que covertir el tipo de datos de uno de los campos con convert :P


saludos y muchas graciazs
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #5 (permalink)  
Antiguo 04/02/2005, 14:46
Avatar de gualicho  
Fecha de Ingreso: enero-2005
Ubicación: Capital Federal - Argentina
Mensajes: 55
Antigüedad: 19 años, 10 meses
Puntos: 0
claaaaaro lo que dice jorge, pero porque no me agarras las #$% jaja
no todo bien yo pense que TENIA que estar, no que no tenia que estar...
  #6 (permalink)  
Antiguo 04/02/2005, 15:26
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 1 mes
Puntos: 3
hola... discilpa, gualicho..

lo que pasaba es que quería hacer un "NOT IN" con varios campos al mismo tiempo, y pues la unica forma que se me ocurrió fue concátenándo los campos.....

(perdon por los acentos, ando escribiendo muy apurado)
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #7 (permalink)  
Antiguo 04/02/2005, 15:53
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 7 meses
Puntos: 25
Si tu table es grande quizá estes desperdiciando recursos. Por lo general es mas eficiente que hagas un OUTER JOIN con algo similar a esto:
Código:
SELECT * 
FROM tabla1
	RIGHT OUTER JOIN tabla2
		ON tabla1.Campo1 = tabla2.campo1 
		AND tabla1.Campo2 = tabla2.campo2
		AND tabla1.Campo3 = tabla2.campo3
WHERE tabla1.Campo1 IS NULL
	AND tabla1.Campo2 IS NULL
	AND tabla1.Campo3 IS NULL
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche

Última edición por Mithrandir; 04/02/2005 a las 15:56
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 23:18.