Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ao executar o código até a linha 7, funciona perfeitamente o problema começa quando entra no join uma tabela que possui id_Obra...
ex já usei a tbl_Material_Equipamento que contém id_Obra ao realizar um join com uma tabela por exemplo tbl_Distribuicao_Orcamento que também contém id_Obra... ele multiplica os registros existentes no banco.
o problema acredito porque as tabelas abaixo recebem também id_obra... como FK dbo.tbl_Dados_Obra DO, retorna um consulta com múltiplos... ex uma tabela tem 7 registros e a outra tem 6... eles retorna 7 x 6 = 42 registros...Tjoin dbo.tbl_Material_Equipamento
join dbo.tbl_Distribuicao_Orcamento
join dbo.tbl_Projeto
join dbo.tbl_Execucao
join dbo.tbl_Encerramento_Obra
dbo.tbl_Dados_Obra DO
A consulta seria feita dessa forma:
1 select * from dbo.tbl_Dados_Obra DO
2 join dbo.tbl_Tipo_Obra TOB on DO.id_Tipo_Obra = TOB.id_Tipo_Obra
3 join dbo.tbl_Tipo_Equipamento TE on DO.id_Tipo_Equipamento = TE.id_Tipo_Equipamento
4 join dbo.tbl_Instalacao INST on DO.id_Instalacao = INST.id_Instalacao
5 join dbo.tbl_Tipo_Instalacao TI on TI.id_Tipo_Instalacao = INST.id_Tipo_Instalacao
6 join dbo.tbl_Programa PO on DO.id_Programa = PO.id_Programa
7 join dbo.tbl_Material_Equipamento MA on MA.id_Obra = DO.id_Obra
8 join dbo.tbl_Distribuicao_Orcamento DOR on DOR.id_Obra = DO.id_Obra
9 join dbo.tbl_Projeto PRO on PRO.id_Obra = DO.id_Obra
10 join dbo.tbl_Empreiteira EM on EM.id_Empreiteira = PRO.id_Empreiteira
11 join dbo.tbl_Execucao EX on EX.id_Obra = DO.id_Obra
12 join dbo.tbl_Equipe_Execucao EQ_EX on EQ_EX.id_Equipe_Execucao = EX.id_Equipe_Execucao
13 join dbo.tbl_Orgao_Responsavel_Execucao OR_EX on OR_EX.id_Orgao_Responsavel_Execucao = EX.id_Orgao_Responsavel_Execucao
14 join dbo.tbl_Fabricante FA on FA.id_Fabricante = EX.id_Fabricante
15 join dbo.tbl_Encerramento_Obra EO on EO.id_Obra = DO.id_Obra
quem quiser ver a estrutura do banco está disponível em:
Carregando comentários...