Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

guiamericano

Query SQL para ordenar a soma de dois campos de tabelas diferentes

Recommended Posts

Eu tenho por exemplo uma tabela com um produto...em outra tabela um certo preço, e em outra tabela outro certo preço...Eles estão todos relacionados...Como faço pra selecionar todos produtos e ordená-los pela soma do preço!? sendo que em alguns essa soma não existe pois ele só tem um preço!?Ah detalhe, eles tem mais de um preço em cada tabela, é pra eu somar o minimo!!!E a tabela Preco1, tem relacao direta com o produto, relacao 1xNJá a Preco2 tem uma tabela intemediaria pois é relacao NxNE na tabela Produto tem um campo para Ignorar o Preco2 que é qndo ele não vai somar!!!O maximo que cheguei foi fazer ordenar, mas ficou faltando os que não tem o segundo preço ó só...SELECT Precos1.FK_Cod_Produto, min(Preco1), min(Preco2), min(Preco1)+min(Preco2)FROM Precos1, Precos2, Produtos_x_Precos2WHERE Precos.FK_Cod_ProdutoIN(SELECT Cod_Produto FROM Produtos WHERE Publicacao <> 0 AND FK_Cod_Tipo=72 AND Ignorar_Preco2 = 0 )AND Produtos_x_Precos2.FK_Cod_Produto = Precos1.FK_Cod_ProdutoAND Produtos_x_Precos2.FK_Cod_Preco2 = Precos2.Cod_Preco2GROUP BY Precos1.FK_Cod_ProdutoORDER BY min(Preco1)+min(Preco2)mesmo que eu tire oIgnorar_Preco2 = 0ele só seleciona os que tem os dois preços por causa doAND Produtos_x_Precos2.FK_Cod_Produto = Precos1.FK_Cod_ProdutoAND Produtos_x_Precos2.FK_Cod_Preco2 = Precos2.Cod_Preco2que é para ele relecionar cada um com o seu certo!!!valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu fizer assim, da pau, eu preciso ignorar o campo preco 2 na segunda selecao ó só... é possivel?!?!SELECT Precos1.FK_Cod_Produto, min(Preco1), min(Preco2), min(Preco1)+min(Preco2)FROM Precos1, Precos2, Produtos_x_Precos2WHERE Precos.FK_Cod_ProdutoIN(SELECT Cod_ProdutoFROM ProdutosWHERE Publicacao <> 0 AND FK_Cod_Tipo=72 AND Ignorar_Preco2 = 0)AND Produtos_x_Precos2.FK_Cod_Produto = Precos1.FK_Cod_ProdutoAND Produtos_x_Precos2.FK_Cod_Preco2 = Precos2.Cod_Preco2ORPrecos.FK_Cod_ProdutoIN(SELECT Cod_ProdutoFROM ProdutosWHERE Publicacao <> 0 AND FK_Cod_Tipo=72 AND Ignorar_Preco2 = 1)GROUP BY Precos1.FK_Cod_ProdutoORDER BY min(Preco1)+min(Preco2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.