Olá a todos, tenho tres tabelas no banco, produtos, produtostamanhos e pedidositens.
em ambas as tres tabelas existe o campo produto, chave primaria na tabela produtos e relacionamento das outras duas.
eu quero fazer um comando count(produtostamanhos.produto) e count(pedidositens.produto) agrupando por produtos.produto
o mais perto que cheguei disso foi
select p.produto, null, null
from produtos as p
union
select p.produto, count(pt.produto) as conttamanhos, null
from produtos as p
inner join produtostamanhos as pt on p.produto = pt.produto
group by p.produto
union
select p.produto, null, count(pi.produto) as contitens
from produtos as p
inner join pedidositens as pi on p.produto = pi.produto
group by p.produto;
só que ele retorna 3 linhas pra cada produto como abaixo no exemplo do produto de código 4:
4 - 1 - null
4 - null - 9
4 - null - null
eu queria jogar td isso na mesma linha
4 - 1 - 9
já tentei o seguinte código também
select produtos.produto, count(produtostamanhos.produto), count(pedidositens.produto)
from produtos, produtostamanhos, pedidositens
where produtostamanhos.produto = produtos.produto
and pedidositens.produto = produtos.produto
group by produtos.produto, produtostamanhos.produto, pedidositens.produto;
só que este retorna em ambos os comandos count, o valor do count(pedidositens.produto), mas esse não está repetindo as linhas, no exemplo do produto citado acima, o resultado é o seguinte:
4 - 9 - 9
Alguem sabe o que esta faltando pra funcionar ???