ajuda no select

Enviada por Roberto C 
Roberto C
ajuda no select
01 de May de 2014 às 04:26PM
Montei um select das minhas tabelas para um relatorio e não estou conseguindo associar o campo cat da tabela de movimento com o campo id e nome da tabela categoria.

quando faz um insert no banco em vez de cadastrar o nome do produto ele cadastra o id até ai tudo bem, só que no relatorio preciso que ele pegue esse id pesquise na tabela de categoria e traga o nome.

Montei o select conforme abaixo, mas não deu certo...poderiam ajudar por favor?

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 x.cat = y.id
GROUP BY y.id, z.nome ASC
)b

Resultado: pode ver que ele mostra varias vezes a mesma cat, mesmo id mas com nomes diferentes.

cat id nome tipo_1 tipo_2 tipo_0 TOTAL
1 1 ãçõà NULL 10 10 NULL
1 1 teste 1 NULL 10 10 NULL
1 1 teste 3 NULL 10 10 NULL
2 2 ãçõà NULL NULL 1 NULL
2 2 teste 1 NULL NULL 1 NULL
2 2 teste 3 NULL NULL 1 NULL
3 3 ãçõà NULL NULL 2 NULL
3 3 teste 1 NULL NULL 2 NULL
3 3 teste 3 NULL NULL 2 NULL


O esperado seria assim:

cat id nome
1 1 ãçõà
2 2 teste 2
3 3 teste 3



Minhas tabelas são:

lc_movimento onde o campo cat corresponde o id do produto


lc_cat onde consta o id do item e o campo nome do produto
Priscila
Re: ajuda no select
25 de June de 2014 às 03:42PM
Olá Roberto!

Tenta utilizar o LEFT JOIN com o campo categoria. O campo categoria tem nas duas tabelas?
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.