Comparar claves compuestas

28/12/2004 - 19:45 por Jose | Informe spam
Hola,


Tengo una tabla con una clave primaria compuesta por tres campos:
Tipo,Grupo,Documento. Necesito hacer un query que dado un rango de claves
me los seleccione. Como debo configurar el Where del select para que
funcione con la clave compuesta ?
de la forma : Where tipo+grupo+documento>=ptipo1+pgrupo1+pdocumento1 and
tipo+grupo+documento<=ptipo2+pgrupo2+pdocumento2

El problema es que los campos no son CHAR sino que TIPO es TINYINT, GRUPO es
CHAR y DOCUMENTO es INT.

Como debo hacer la comparacion de forma correcta y eficiente ?

Preguntas similare

Leer las respuestas

#1 Maxi
28/12/2004 - 20:09 | Informe spam
Jose, una buena manera seria que pongas un campo calculado en las tablas y
uses este mismo para relacionar lo que buscas.

Fijate en los BOL como se hace este tipo de operaciones.

Un abrazo


Salu2
Maxi


"Jose" escribió en el mensaje
news:
Hola,


Tengo una tabla con una clave primaria compuesta por tres campos:
Tipo,Grupo,Documento. Necesito hacer un query que dado un rango de claves
me los seleccione. Como debo configurar el Where del select para que
funcione con la clave compuesta ?
de la forma : Where tipo+grupo+documento>=ptipo1+pgrupo1+pdocumento1 and
tipo+grupo+documento<=ptipo2+pgrupo2+pdocumento2

El problema es que los campos no son CHAR sino que TIPO es TINYINT, GRUPO
es
CHAR y DOCUMENTO es INT.

Como debo hacer la comparacion de forma correcta y eficiente ?





Respuesta Responder a este mensaje
#2 Jose
28/12/2004 - 20:41 | Informe spam
Ok, investigando veo que deberia convertirlo todo a character. Es asi ? No
se hacen lentas las consultas asi ?


"Maxi" wrote in message
news:
Jose, una buena manera seria que pongas un campo calculado en las tablas y
uses este mismo para relacionar lo que buscas.

Fijate en los BOL como se hace este tipo de operaciones.

Un abrazo


Salu2
Maxi


"Jose" escribió en el mensaje
news:
> Hola,
>
>
> Tengo una tabla con una clave primaria compuesta por tres campos:
> Tipo,Grupo,Documento. Necesito hacer un query que dado un rango de


claves
> me los seleccione. Como debo configurar el Where del select para que
> funcione con la clave compuesta ?
> de la forma : Where tipo+grupo+documento>=ptipo1+pgrupo1+pdocumento1


and
> tipo+grupo+documento<=ptipo2+pgrupo2+pdocumento2
>
> El problema es que los campos no son CHAR sino que TIPO es TINYINT,


GRUPO
> es
> CHAR y DOCUMENTO es INT.
>
> Como debo hacer la comparacion de forma correcta y eficiente ?
>
>
>
>
>


Respuesta Responder a este mensaje
#3 Maxi
28/12/2004 - 20:43 | Informe spam
con un campo calculado y un indice por el, no deberias tener ningun problema
:)


Salu2
Maxi


"Jose" escribió en el mensaje
news:
Ok, investigando veo que deberia convertirlo todo a character. Es asi ?
No
se hacen lentas las consultas asi ?


"Maxi" wrote in message
news:
Jose, una buena manera seria que pongas un campo calculado en las tablas
y
uses este mismo para relacionar lo que buscas.

Fijate en los BOL como se hace este tipo de operaciones.

Un abrazo


Salu2
Maxi


"Jose" escribió en el mensaje
news:
> Hola,
>
>
> Tengo una tabla con una clave primaria compuesta por tres campos:
> Tipo,Grupo,Documento. Necesito hacer un query que dado un rango de


claves
> me los seleccione. Como debo configurar el Where del select para que
> funcione con la clave compuesta ?
> de la forma : Where tipo+grupo+documento>=ptipo1+pgrupo1+pdocumento1


and
> tipo+grupo+documento<=ptipo2+pgrupo2+pdocumento2
>
> El problema es que los campos no son CHAR sino que TIPO es TINYINT,


GRUPO
> es
> CHAR y DOCUMENTO es INT.
>
> Como debo hacer la comparacion de forma correcta y eficiente ?
>
>
>
>
>






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida