Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/01/2012, 07:48
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: query con 3 tablas

una alternativa..

Código:
if OBJECT_ID('tempdb..#rentas') is not null drop table #rentas

create table #rentas (
	idRenta int identity (1,1)
	,idPelicula int 
	,idCliente int
)


if OBJECT_ID('tempdb..#peliculas') is not null drop table #peliculas

create table #peliculas (
	idPelicula int  identity (1,1)
	,nombre varchar(100) 
)

if OBJECT_ID('tempdb..#clientes') is not null drop table #clientes

create table #clientes (
	idPelicula int  identity (1,1)
	,nombre varchar(100) 
)

insert into #peliculas (nombre)values ('Pel 1 '),('Pel 2 '),('Pel 3 '),('Pel 4 '),('Pel 5 ')
insert into #clientes(nombre) values ('Cli 100'),('Cli 200'),('Cli 300'),('Cli 400')
insert into #rentas(idCliente,idPelicula) values(1,2),(1,3),(2,5)

select p.idPelicula
		,p.nombre
		,case when r.idPelicula is null then '<No Rent>' else ISNULL(c.nombre,'') end Rentada  
from   #peliculas p
left join #rentas r
on p.idPelicula = r.idPelicula
left join #clientes c
on r.idCliente = c.idPelicula

idPelicula  nombre  Rentada
----------- ------- ------------
1           Pel 1   <No Rent>
2           Pel 2   Cli 100
3           Pel 3   Cli 100
4           Pel 4   <No Rent>
5           Pel 5   Cli 200

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.