select itemNome, itemImagemURL, itemValor, inventarioContaMovimentoId,
ifnull(mais-ifnull(menos,0),0) as quantidade
from (
select inventarioItemId, count(*) as mais
from 18dias_inventarios
inner join 18dias_contamovimentos on contaMovimentoId = inventarioContaMovimentoId
inner join 18dias_movimentos on movimentoId = contaMovimentoMovimentoId
where movimentoTipo='mais' and contaMovimentoContaId=14
group by 1) as tMais
left join (
select inventarioItemId, count(*) as menos
from 18dias_inventarios
inner join 18dias_contamovimentos on contaMovimentoId = inventarioContaMovimentoId
inner join 18dias_movimentos on movimentoId = contaMovimentoMovimentoId
where movimentoTipo='menos' and contaMovimentoContaId=14
group by 1) as tMenos
on tMais.inventarioItemId =tMenos.inventarioItemId
inner join 18dias_items on itemId=tMais.inventarioItemId