Boa tarde, não testei mas acho que dará certo, tente assim:
SELECT v._id, v.nome, SUM(IFNULL(p.valor,0)) as valorPedidos FROM pedidos p INNER JOIN vendedor v ON (p.id_vendedor = v._id) WHERE p.data BETWEEN '2015-12-01' AND '2015-12-31' AND v.id_supervisor = 1 GROUP BY v._id, v.nome;
R
Rodrigo1895
Deu certo cara, vlw
Na minha query faltou GROUP BY.
Qual a melhor maneira de se fazer? SubQuery ou Join?
M
marcusdacoregio
Não sei te responder com toda a certeza, mas acredito que usando JOIN é a melhor opção. Fazer um select dentro de outro, na minha percepção, parece ser mais pesado. Que bom que deu certo, continue os estudos!
Joao_Miguel1
SELECT PR.NOME, COUNT(DISTINCT I.CODINSTIT) NINST, SUM(VALORTOAL) SOMA
FROM PRENDA PR, DOACAO D, PESSOA P, INSTITUICAO I
WHERE PR.CODPRENDA = D.CODPRENDA
AND D.CODPESSOA = P.CODPESSOA
AND D.CODINSTIT = I.CODINSTIT
AND C.CIDADE LIKE ‘COIMBRA’
AND SYSDATE - DATADOACAO > 0
AND DATADOACAO > DATANASCIMEN
AND TO_NUMBER(TO_CHAR(DATANASC,’YYYY’)) - TO_NUMBER(TO_CHAR(SYSDATE,’YYYY’))=18
AND VALORTOTAL * 1.23 > 3000
GROUP BY PR.NOME;
Como posso tornar esta pesquisa mais rápida para a sua execução?