Join ....

03/02/2005 - 00:19 por Carlos G | Informe spam
Saludos Grupo

Me surgio un pequeño problemita tratando de hacer la liga con 2 tablas
una contiene un campo llamado Referencia varchar(9) y la otra tabla contiene
el campo numero Int

Me marca error de sintaxis ya que me dice que el campo '051' no puede ser
convertido a Int.

Lo que se me ocurrio en un principio fue ponerle Convert(Int,Referencia) en
el where . pero no funciona .

Que soluciones tengo. ...? Sera necesario cambiar el campo a Int ..

Saludos y gracias ..

Preguntas similare

Leer las respuestas

#1 MAXI
03/02/2005 - 01:05 | Informe spam
Hola, ese convert lo debes poner en el join y no en el where



Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

MSN:
"Carlos G" escribió en el mensaje
news:%
Saludos Grupo

Me surgio un pequeño problemita tratando de hacer la liga con 2 tablas

una contiene un campo llamado Referencia varchar(9) y la otra tabla
contiene
el campo numero Int

Me marca error de sintaxis ya que me dice que el campo '051' no puede ser
convertido a Int.

Lo que se me ocurrio en un principio fue ponerle Convert(Int,Referencia)
en
el where . pero no funciona .

Que soluciones tengo. ...? Sera necesario cambiar el campo a Int ..

Saludos y gracias ..


Respuesta Responder a este mensaje
#2 Carlos G
03/02/2005 - 01:30 | Informe spam
Como que en el Join Maxi . Esto es lo que tengo en el Where tengo
los Joins entre las tablas ..

Select A.Id_Empresa, A.Numero NumCheque, A.Descripcion DescCheque, A.CC,
A.Monto,
B.TM, A.iYear, A.iMes, A.iPoliza Poliza, A.iTp,
B.Factura, B.ReferenciaOC, B.NumPro, B.CC,
A.Fecha_Mov, B.Fecha
from SB_CHEQUES A, SP_MOVPROV B, SO_ORDEN_COMPRA_DET C
Where A.Id_Empresa = 18 and A.iYear = 2005 and A.iMes = 2 and A.iPoliza 1709 and A.iTp = 'F' and
A.Id_Empresa = B.Id_Empresa and A.Num_Pro_Emp = B.NumPro and
iYear = B.[Year] and A.iMes = B.Mes and B.TM <= 50 and
B.Id_Empresa = C.Id_Empresa and B.CC = C.CC and
Cast(B.ReferenciaOC as Int) = C.Numero

GRACIAS.

"MAXI" escribió en el mensaje
news:#
Hola, ese convert lo debes poner en el join y no en el where



Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

MSN:
"Carlos G" escribió en el mensaje
news:%
> Saludos Grupo
>
> Me surgio un pequeño problemita tratando de hacer la liga con 2 tablas
>
> una contiene un campo llamado Referencia varchar(9) y la otra tabla
> contiene
> el campo numero Int
>
> Me marca error de sintaxis ya que me dice que el campo '051' no puede


ser
> convertido a Int.
>
> Lo que se me ocurrio en un principio fue ponerle Convert(Int,Referencia)
> en
> el where . pero no funciona .
>
> Que soluciones tengo. ...? Sera necesario cambiar el campo a Int ..
>
> Saludos y gracias ..
>
>


Respuesta Responder a este mensaje
#3 MAXI
03/02/2005 - 01:38 | Informe spam
Hola, ok, no usas join por lo que veo ;)

Que mensaje de error te da esa instrucion?



Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

MSN:
"Carlos G" escribió en el mensaje
news:
Como que en el Join Maxi . Esto es lo que tengo en el Where tengo
los Joins entre las tablas ..

Select A.Id_Empresa, A.Numero NumCheque, A.Descripcion DescCheque, A.CC,
A.Monto,
B.TM, A.iYear, A.iMes, A.iPoliza Poliza, A.iTp,
B.Factura, B.ReferenciaOC, B.NumPro, B.CC,
A.Fecha_Mov, B.Fecha
from SB_CHEQUES A, SP_MOVPROV B, SO_ORDEN_COMPRA_DET C
Where A.Id_Empresa = 18 and A.iYear = 2005 and A.iMes = 2 and A.iPoliza > 1709 and A.iTp = 'F' and
A.Id_Empresa = B.Id_Empresa and A.Num_Pro_Emp = B.NumPro and
iYear = B.[Year] and A.iMes = B.Mes and B.TM <= 50 and
B.Id_Empresa = C.Id_Empresa and B.CC = C.CC and
Cast(B.ReferenciaOC as Int) = C.Numero

GRACIAS.

"MAXI" escribió en el mensaje
news:#
Hola, ese convert lo debes poner en el join y no en el where



Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

MSN:
"Carlos G" escribió en el mensaje
news:%
> Saludos Grupo
>
> Me surgio un pequeño problemita tratando de hacer la liga con 2 tablas
>
> una contiene un campo llamado Referencia varchar(9) y la otra tabla
> contiene
> el campo numero Int
>
> Me marca error de sintaxis ya que me dice que el campo '051' no puede


ser
> convertido a Int.
>
> Lo que se me ocurrio en un principio fue ponerle
> Convert(Int,Referencia)
> en
> el where . pero no funciona .
>
> Que soluciones tengo. ...? Sera necesario cambiar el campo a Int
> ..
>
> Saludos y gracias ..
>
>






Respuesta Responder a este mensaje
#4 Carlos G
03/02/2005 - 01:47 | Informe spam
Este es el Error Maxi ...

Server: Msg 245, Level 16, State 1, Line 1
Syntax error converting the varchar value '051.' to a column of data type
int.

Gracias.



"MAXI" escribió en el mensaje
news:#
Hola, ok, no usas join por lo que veo ;)

Que mensaje de error te da esa instrucion?



Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

MSN:
"Carlos G" escribió en el mensaje
news:
> Como que en el Join Maxi . Esto es lo que tengo en el Where


tengo
> los Joins entre las tablas ..
>
> Select A.Id_Empresa, A.Numero NumCheque, A.Descripcion DescCheque,


A.CC,
> A.Monto,
> B.TM, A.iYear, A.iMes, A.iPoliza Poliza, A.iTp,
> B.Factura, B.ReferenciaOC, B.NumPro, B.CC,
> A.Fecha_Mov, B.Fecha
> from SB_CHEQUES A, SP_MOVPROV B, SO_ORDEN_COMPRA_DET C
> Where A.Id_Empresa = 18 and A.iYear = 2005 and A.iMes = 2 and A.iPoliza
> 1709 and A.iTp = 'F' and
> A.Id_Empresa = B.Id_Empresa and A.Num_Pro_Emp = B.NumPro and
> iYear = B.[Year] and A.iMes = B.Mes and B.TM <= 50


and
> B.Id_Empresa = C.Id_Empresa and B.CC = C.CC and
> Cast(B.ReferenciaOC as Int) = C.Numero
>
> GRACIAS.
>
> "MAXI" escribió en el mensaje
> news:#
>> Hola, ese convert lo debes poner en el join y no en el where
>>
>>
>>
>> Maxi
>>
>> Buenos Aires - Argentina
>> Desarrollador .NET 3 Estrellas
>> Microsoft User Group (MUG)
>>
>> MSN:
>> "Carlos G" escribió en el mensaje
>> news:%
>> > Saludos Grupo
>> >
>> > Me surgio un pequeño problemita tratando de hacer la liga con 2


tablas
>> >
>> > una contiene un campo llamado Referencia varchar(9) y la otra tabla
>> > contiene
>> > el campo numero Int
>> >
>> > Me marca error de sintaxis ya que me dice que el campo '051' no puede
> ser
>> > convertido a Int.
>> >
>> > Lo que se me ocurrio en un principio fue ponerle
>> > Convert(Int,Referencia)
>> > en
>> > el where . pero no funciona .
>> >
>> > Que soluciones tengo. ...? Sera necesario cambiar el campo a Int
>> > ..
>> >
>> > Saludos y gracias ..
>> >
>> >
>>
>>
>
>


Respuesta Responder a este mensaje
#5 MAXI
03/02/2005 - 02:16 | Informe spam
Hola, te paso un ejemplo que aca a mi me funciona:

create table #p1 (id int)

create table #p2 (id varchar(50))

insert into #p1 values (1)
insert into #p1 values (2)
insert into #p1 values (3)

insert into #p2 values ('1')
insert into #p2 values ('02')
insert into #p2 values ('3')


select * from #p1 inner join #p2 on
#p1.id = convert(int,#p2.id)

go

Bye!!



Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

MSN:
"Carlos G" escribió en el mensaje
news:

Este es el Error Maxi ...

Server: Msg 245, Level 16, State 1, Line 1
Syntax error converting the varchar value '051.' to a column of data type
int.

Gracias.



"MAXI" escribió en el mensaje
news:#
Hola, ok, no usas join por lo que veo ;)

Que mensaje de error te da esa instrucion?



Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

MSN:
"Carlos G" escribió en el mensaje
news:
> Como que en el Join Maxi . Esto es lo que tengo en el Where


tengo
> los Joins entre las tablas ..
>
> Select A.Id_Empresa, A.Numero NumCheque, A.Descripcion DescCheque,


A.CC,
> A.Monto,
> B.TM, A.iYear, A.iMes, A.iPoliza Poliza, A.iTp,
> B.Factura, B.ReferenciaOC, B.NumPro, B.CC,
> A.Fecha_Mov, B.Fecha
> from SB_CHEQUES A, SP_MOVPROV B, SO_ORDEN_COMPRA_DET C
> Where A.Id_Empresa = 18 and A.iYear = 2005 and A.iMes = 2 and
> A.iPoliza


>> > 1709 and A.iTp = 'F' and
> A.Id_Empresa = B.Id_Empresa and A.Num_Pro_Emp = B.NumPro and
> iYear = B.[Year] and A.iMes = B.Mes and B.TM <= 50


and
> B.Id_Empresa = C.Id_Empresa and B.CC = C.CC and
> Cast(B.ReferenciaOC as Int) = C.Numero
>
> GRACIAS.
>
> "MAXI" escribió en el mensaje
> news:#
>> Hola, ese convert lo debes poner en el join y no en el where
>>
>>
>>
>> Maxi
>>
>> Buenos Aires - Argentina
>> Desarrollador .NET 3 Estrellas
>> Microsoft User Group (MUG)
>>
>> MSN:
>> "Carlos G" escribió en el mensaje
>> news:%
>> > Saludos Grupo
>> >
>> > Me surgio un pequeño problemita tratando de hacer la liga con 2


tablas
>> >
>> > una contiene un campo llamado Referencia varchar(9) y la otra tabla
>> > contiene
>> > el campo numero Int
>> >
>> > Me marca error de sintaxis ya que me dice que el campo '051' no
>> > puede
> ser
>> > convertido a Int.
>> >
>> > Lo que se me ocurrio en un principio fue ponerle
>> > Convert(Int,Referencia)
>> > en
>> > el where . pero no funciona .
>> >
>> > Que soluciones tengo. ...? Sera necesario cambiar el campo a Int
>> > ..
>> >
>> > Saludos y gracias ..
>> >
>> >
>>
>>
>
>






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida