04/01/2012, 07:48
|
| Colaborador | | Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años 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. |