Jump to content

Select a 5 tabelas


Mysteriis
 Share

Recommended Posts

Boas,

Este é o meu ER.

ER.jpeg

Eu gostaria de fazer um select á tabela obras, e trazer juntamente os dados das tabelas relacionadas: obras, clientes, categoriaObra, equipamento, custo, localizacao.

Para isso preciso de fazer um select a 5 tabelas...Alguem pode me dar uma dica de como fazer isto?

Cumprimentos

Mysteriis

Link to comment
Share on other sites

Não ligues á participação nem á cardinalidade...

Eu queria fazer um select á tabela Obra e além dos dados da tabela obra queria saber também:

->o nome do cliente da obra;

-> o seu custo;

-> a sua categoria de obra;

-> a sua localização;

-> o equipamento utilizado;

Link to comment
Share on other sites

Fazes

select [campos que queres] 
from obra 
inner  join tabela1 
on tabela1.fk_para_obra = obra.pk
[fazer o mesmo para as outras tabelas]
where [condição]
10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

M6 segui a tua dica e experimentei

SELECT obra.nome, obra.fotos, obra.dataEntrada, obra.dataSaida, obra.localExecucao, cliente.nome as cliente, categoriaobra.nome as categoriaObra,
custo.*, equipamento.nome as equipamento, localizacao.*
from obra
inner join cliente
on cliente.idCliente=obra.cliente_fk
inner join categoriaobra
on categoriaobra.idCategoriaObra=obra.categoriaObra_fk
inner join localizacao
on localizacao.idLocalizacao = obra.localizacao_fk
inner join custo
on custo.idCusto=obra.custo_fk
inner join equipamento
on equipamento.idEquipamento=obra.equipamento_fk 

Não coloquei nada na clausula WHERE porque quero todos os resultados..mas não está a retornar nenhum resultado:(

O que estou a fazer mal??

Link to comment
Share on other sites

O LEFT JOIN resolveu.

Já agora deixo aqui o codigo para quem vier a precisar;)

SELECT obra.nome, obra.fotos, obra.dataEntrada, obra.dataSaida, obra.localExecucao, cliente.nome as cliente, categoriaobra.nome as categoriaObra, custo.*, equipamento.nome as equipamento, localizacao.*
from obra
left join cliente
on cliente.idCliente=obra.cliente_fk
left join categoriaobra
on categoriaobra.idCategoriaObra=obra.categoriaObra_fk
left join localizacao
on localizacao.idLocalizacao = obra.localizacao_fk
left join custo
on custo.idCusto=obra.custo_fk
left join equipamento
on equipamento.idEquipamento=obra.equipamento_fk 

Obrigado ao M6 e ao fli79 pela ajuda que deram para resolver esta questão.

Cumprimentos

Mysteriis

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.