Foros del Web » Programando para Internet » ASP Clásico »

ayuda con otra consulta

Estas en el tema de ayuda con otra consulta en el foro de ASP Clásico en Foros del Web. hola a todos no entiendo porque esto funciona SELECT* FROM rubros WHERE IDrubro IN (352, 353, 354, 355, 375) y esto no funciona SELECT* FROM ...
  #1 (permalink)  
Antiguo 24/07/2004, 10:26
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años, 5 meses
Puntos: 1
ayuda con otra consulta

hola a todos
no entiendo porque esto funciona

SELECT* FROM rubros WHERE IDrubro IN (352, 353, 354, 355, 375)

y esto no funciona

SELECT* FROM rubros WHERE IDrubro IN (SELECT rubros FROM clientes)
el error que me da es el siguiente:

Syntax error converting the nvarchar value '352, 353, 354, 355, 375' to a column of data type int.

si yo ejecuto SELECT RUBROS FROM clientes
me devuelve lo siguiente

152, 353, 354, 350, 475
372, 358, 358, 315, 372

que me pasaaaaa! trate de ahcerle caso a dazuaga pero no puedo ahcer este tipo de consultas en el access (para todo lo demas si funca bastante bien)
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 24/07/2004, 11:56
 
Fecha de Ingreso: julio-2004
Ubicación: Capital Federal, Argentina
Mensajes: 283
Antigüedad: 20 años, 10 meses
Puntos: 1
el campo rubros de la tabla cliente de que tipo de datos es?
  #3 (permalink)  
Antiguo 25/07/2004, 15:32
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años, 5 meses
Puntos: 1
es nvarchar
y IDrubro de la tabla rubros es Int
son diferentes tipos si si....
__________________
On error no hago nada porque deje de fumar...
  #4 (permalink)  
Antiguo 25/07/2004, 21:18
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
mmm... no sé, no sé.. nunca usé funciones de conversión de tipos directamente sobre un campo, pero prbá esto:


SELECT* FROM rubros WHERE IDrubro IN (SELECT CInt(rubros) FROM clientes)

¿a ver qué onda?
__________________
...___...
  #5 (permalink)  
Antiguo 25/07/2004, 21:24
 
Fecha de Ingreso: julio-2004
Ubicación: Capital Federal, Argentina
Mensajes: 283
Antigüedad: 20 años, 10 meses
Puntos: 1
me parece que deberias cambiar el tipo de datos del campo rubros de la tabla cliente a un varchar

por algo en especial le pusiste nvarchar?
el nvarchar suele traer algunas complicaciones de este estilo...
  #6 (permalink)  
Antiguo 25/07/2004, 21:32
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
totalmente de acuerdo con forvan
__________________
...___...
  #7 (permalink)  
Antiguo 25/07/2004, 22:24
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años, 5 meses
Puntos: 1
si es nvarchar porque almaceno los datos asi
352, 353, 354, 355, 375
entonces luego deberia mostrar los IDrubro que coincidan con cualquiera de los que encuentra en esa columna

lo que no comprendo es porque de una manera funciona y de la otra no... si a fin de cuentas esa consulta devolvera exactamente lo mismo que 352, 353, 354, 355, 375

muy amables!
__________________
On error no hago nada porque deje de fumar...
  #8 (permalink)  
Antiguo 25/07/2004, 22:48
 
Fecha de Ingreso: julio-2004
Ubicación: Capital Federal, Argentina
Mensajes: 283
Antigüedad: 20 años, 10 meses
Puntos: 1
no tengo mucha idea de como labura el nvarchar, pero que yo tenga entendido no tiene diferencias con respecto al varchar en el tema que vos planteas

pero se me hace que en ese caso te está tomando todo como un valor solo
dentro el IN considera como si hubiera un solo string y no varios numeros
  #9 (permalink)  
Antiguo 26/07/2004, 08:58
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años, 5 meses
Puntos: 1
si exacto eso es lo que creo que pasa...
cambio el tipo de datos a varchar?
__________________
On error no hago nada porque deje de fumar...
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 13:38.