Galerinha tô com uma dúvida. Abaixo vocês podem ver como está o meu banco. A dúvida é a seguinte: como faço a consulta pra retornar: nome da pessoa jurídica, cnpj, telefone, nome do motorista, data_venc da locação, placa do veículo, tipo do veículo e cor, para todas as locações de pessoas jurídicas ordenando pelo cnpj. Eu sei que é um select com join, mas não faço ideia de por onde começar.
Aqui o caminho.
select p.nome, pj.cnpj from pessoa p, pessoa_juridica pj where p.id = pj.id_pessoa order by pj.cnpj
Teste isso.
E adapte o restante das tabelas neste formato.
Com a dica do @edumatias eu consegui fazer a consulta sem utilizar o JOIN. Ficou assim:
select p.nome, pj.cnpj, tel.numero, mo.nome, lo.data_venc, ve.placa, ve.tipo_veiculo, ve.cor
from pessoa p, pessoa_juridica pj, telefone tel, locacao lo, veiculo ve, motorista mo
where p.id = lo.id_pessoa and p.id = pj.id_pessoa and mo.id = ve.id and ve.id = lo.id_veiculo and p.id = tel.id_pessoa order by pj.cnpj
Ótimo.
Parabéns.
Pode fechar o tópico e adicionar no título como [RESOLVIDO].
[]'s
Caso você queira utilizar o JOIN, pode fazer algo como
SELECT p.nome FROM pessoa AS p LEFT JOIN pessoa_juridica AS pj ON p.id = pj.id_pessoa order by pj.cnpj (Não testei)
Lembrando que quando você usar o LEFT ele traz até mesmo os valores de quando o relacionamento estiver nulo. Traz tudo.