Relacion por una expresion

23/07/2006 - 01:51 por Pedro Echavarria | Informe spam
Hello,

Existe alguna manera de establecer una relacion entre dos tablas por una
expresion en vez de por un simple campo ?

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera \(MVP\)
23/07/2006 - 06:05 | Informe spam
Puedes darnos un ejemplo de lo que deseas hacer?

Gustavo Larriera, MVP
Mentor, Solid Quality Learning
Blog: http://solidqualitylearning.com/blogs/glarriera/


"Pedro Echavarria" wrote in message
news:
Hello,

Existe alguna manera de establecer una relacion entre dos tablas por una
expresion en vez de por un simple campo ?

Respuesta Responder a este mensaje
#2 Alejandro Mesa
24/07/2006 - 15:05 | Informe spam
Pedro Echavarria,

Si lo puedes hacer, pero no es buena practica manipular columnas que
participan en la relacion, pues SQL Server no hara un uso eficiente de los
indices en caso de existir.

Ejemplo:

set showplan_text on
go

select *
from dbo.orders as oh inner join dbo.customers as c
on oh.customerid = c.customerid and left(c.country, 1) = 'c'
go

select *
from dbo.orders as oh inner join dbo.customers as c
on oh.customerid = c.customerid and c.country like 'c%'
go

set showplan_text off
go

Fijate como difieren los planes de ejecucion de ambas sentencias y como en
la primera, SQL Server no usa una operacion "index seek".


AMB


"Pedro Echavarria" wrote:

Hello,

Existe alguna manera de establecer una relacion entre dos tablas por una
expresion en vez de por un simple campo ?



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