Como fazer um select e retornar registros de 3 tabelas...
Amigos do fórum,
Tenho 3 tabelas e gostaria de saber qual a melhor forma de relacioná-las quando for executar um select...
Eis os relacionamentos...
Tabela TipoProduto
´IDTIPOPRODUTO´(integer)
´DESCRICAO´
Tabela Produto
Campos
´IDPRODUTO´ (interger)
´IDTIPOPRODUTO´(integer)
´REFERENCIAPRODUTO´ (Char)
´TIPOPRODUTO´ (char)
Tabela HISTORICOPRECOS
Campos
´IDHISTORICO´(integer)
´IDPRODUTO´(integer)
´VALOR´(CHAR 4)
A tabela TIPOPRODUTO está ligada a tabela PRODUTO e esta última está ligada a tabela HISTORICOPRECOS através de relacionamentos ´master-detail´.
Usei o seguinte select e somente um unico valor da Tabela HISTORICOPRECOS está sendo retornado mesmo quando executo o select para todos os valores do campo DESCRICAO...
select PR.*, TP.DESCRICAO, HP.VALOR
from PRODUTOS PR
inner join TIPOPRODUTO TP on (TP.IDTIPOPRODUTO = PR.IDTIPOPRODUTO)
inner join HISTORICOPRECOS HP on (HP.IDPRODUTO = PR.IDPRODUTO)
where DESCRICAO like :DESCRICAO
order by DESCRICAO
Se puderem ajudar agradeço!
Um abraço,
Leonelson
Tenho 3 tabelas e gostaria de saber qual a melhor forma de relacioná-las quando for executar um select...
Eis os relacionamentos...
Tabela TipoProduto
´IDTIPOPRODUTO´(integer)
´DESCRICAO´
Tabela Produto
Campos
´IDPRODUTO´ (interger)
´IDTIPOPRODUTO´(integer)
´REFERENCIAPRODUTO´ (Char)
´TIPOPRODUTO´ (char)
Tabela HISTORICOPRECOS
Campos
´IDHISTORICO´(integer)
´IDPRODUTO´(integer)
´VALOR´(CHAR 4)
A tabela TIPOPRODUTO está ligada a tabela PRODUTO e esta última está ligada a tabela HISTORICOPRECOS através de relacionamentos ´master-detail´.
Usei o seguinte select e somente um unico valor da Tabela HISTORICOPRECOS está sendo retornado mesmo quando executo o select para todos os valores do campo DESCRICAO...
select PR.*, TP.DESCRICAO, HP.VALOR
from PRODUTOS PR
inner join TIPOPRODUTO TP on (TP.IDTIPOPRODUTO = PR.IDTIPOPRODUTO)
inner join HISTORICOPRECOS HP on (HP.IDPRODUTO = PR.IDPRODUTO)
where DESCRICAO like :DESCRICAO
order by DESCRICAO
Se puderem ajudar agradeço!
Um abraço,
Leonelson
Leoback
Curtidas 0