Como realizar esta consulta SQL?

PostgreSQL

26/03/2009

Tenho as tabelas e seu respectivos campos:

*cv_compra_veiculo
- com_codigo
- cv_valor_compra

*grv_compra
- com_codigo
- com_data

*grv_venda
- vda_valor_venda
- vda_data

* grv_os
- os_valor
- os_data

* ger_mes
- cod_mes ( mês de forma numérica )
- nome_mes ( descrição do mês )

Preciso de um select que apresente os totais de os, compra, venda e mostre o nome_mes e nos meses que não tiverem qualquer um deles, apresentar vazio. Alguém poderia me ajudar? Já queimei todos os meus neurônios com isso. Grato.


Emir Neto

Emir Neto

Curtidas 0

Respostas

Jcvpalma

Jcvpalma

26/03/2009

Emir, blz

Uma pergunta, a ´grv_venda´ tem algum relacionamento com as demais tabelas,

caso, para você saber o total de compras, seria isso:

select
count(totalCompra) from
( Select
case com_codigo
when null then ´Vazio´
when ´´ then ´Vazio´
else com_codigo end as totalCompra,
from cv_compra_veiculo a
left join grv_compra b
On a.com_codigo = b.com_codigo ) b

Mas o certo é você pensar nos relacionamentos, você pode trabalhar com subqueries, mas o essencial é saber o relacionamento entre as tabelas,
deu para identificar um relacionamento, mas com as outras não está aparente.
poderia dizer qual é a hierarquia do relacionamento.

Ex.:
cv_compra_veiculo 1,* ---- 1,1 grv_compra
Sabendo a hierarquia dos relacionamentos fica mais fácil de debugar a consulta.

A não ser que você faça separadamente e una as consultas via código, oque não é muito pratico.

[]´s

JC


GOSTEI 0
Emir Neto

Emir Neto

26/03/2009

Não há nenhum relacionamento, o filtro seria apenas tudo que estivesse no mesmo mes/ano em todas as tabelas


GOSTEI 0
Jcvpalma

Jcvpalma

26/03/2009

emir,

tem como vc montar tabelas exemplos com os dados, ficaria + facil para debugar,

se quiser, me envie por e-mail, não precisa ser exatamente a mesma estrutura mas parecida que contenha alguns dados(2 ou 3 registros).

me contacte através do [url]www.jcvpalma.com.br[/url] :D

[]´s


GOSTEI 0
POSTAR