Ir para conteúdo

POWERED BY:

Arquivado

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

Roberto2

select

Recommended Posts

Pessoal sou iniciante e to ficando sem cabelos devido a select abaixo e preciso de ajuda..montei ele certinho mas o resultado não consigo fazer o que preciso.

SELECT cat, id, nome, (

SELECT SUM( valor )
FROM lc_movimento a
WHERE tipo =1
AND a.cat = b.cat
)tipo_1, (

SELECT SUM( valor )
FROM lc_movimento a
WHERE tipo =2
AND a.cat = b.cat
)tipo_2, (

SELECT SUM( valor )
FROM lc_movimento a
WHERE tipo =0
AND a.cat = b.cat
)tipo_0, (

SELECT SUM( tipo_1 - tipo_2 - tipo_0 )
)TOTAL
FROM (

SELECT DISTINCT x.cat, y.id, z.nome
FROM lc_movimento x, lc_cat y, lc_cat z
WHERE y.id = x.cat
GROUP BY x.cat ASC
)b

O resulta é:

cat id nome tipo_1 tipo_2 tipo_0 TOTAL
1 1 Teste1 NULL 1010 111 NULL
2 2 Teste1 NULL 15 4 NULL
3 3 Teste1 NULL NULL 3 NULL

Na tabela movimento quando incluo um item ele grava o ID do produto que ele pega na tabela cat até ai tudo bem...só que no relatorio eu preciso que ele pegue o ID do produto ache ele na tabela cad e pegue o nome dele.

O que preciso seria isso:

cat id nome tipo_1 tipo_2 tipo_0 TOTAL
1 1 Teste1 NULL 1010 111 NULL
2 2 Teste2 NULL 15 4 NULL
3 3 Teste3 NULL NULL 3 NULL

Se alguém puder me ajudar ficaria muito grato pois estou quase sem cabelos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja tentou usando os joins?Algo como abaixo

SELECT x.cat, y.id , z.nome 
FROM lc_movimento x
inner join   lc_cat y on id = x.cat 
inner join lc_cat z 
)

Você tem a opção de alterar inner join para left join ou right join

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.