Consulta SQL

Delphi

05/08/2010

Olá pessoal,
uso delphi 2010 e firebird. Como acesso a dados uso o IBX.

Tenho a seguinte estrutura de tabelas:

[Livros]
idLivro
tituloLivro

[Pessoas]
idPessoa
nomePessoa

[PessoasLivros]
idPessoa
idLivro

Minha dificuldade esta no seguinte item:

Preciso retornar todos os livros. E os que estiverem emprestados preciso do nome da pessoa.
Select l.titulo p.nome from Livros l inner join PessoasLivros pl on l.idLivro = pl.idLivro innere join Pessoas p on p.idPessoa = pl.idPessoa

Com esse SQL tenho o nome dos livros e das pessoas que tem livros emprestados. Porém preciso além dessa informação do nome dos livros que não estão sendo emprestados no momento.

Seria algo do tipo:

O Rei Arthur     Pedro Paulo
Crônicas de Monterio Lobato Mário de Souza
Histórias de Dona Benta   null (não esta emprestado)
e assim por diante.





Carlos Phelippe

Carlos Phelippe

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

05/08/2010

select
  l.tituloLivro,
  coalesce(p.nomePessoa, 'Disponível') Emprestado
from
  Livros l
left join PessoasLivros pl on
  pl.idLivro = l.idLivro
left join Pessoas p on
  p.idPessoa = pl.idPessoa

GOSTEI 0
POSTAR