Dificuldade com JOIN em SQL [RESOLVIDO]

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.

Dá uma estudada:

E no geral sobre SQL: https://www.google.com.br/search?q=apostila+sql

1 curtida

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.

1 curtida

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

1 curtida

Ótimo.

Parabéns.

Pode fechar o tópico e adicionar no título como [RESOLVIDO].

[]'s

1 curtida

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.

1 curtida