Jump to content

Recommended Posts

Posted

Boas tenho uma pequena duvida...

Tenho como objectivo o nome completo e valor total de vendas dos vendedores que mais vendas

efectuaram por loja e ano.

Fiz a seguinte query:

SELECT emp.nome, inst.nome, to_char(cmpr.data_compra,'YYYY'), SUM(cmpr.preco_venda), COUNT(*)
FROM empregado emp, instalacao inst, compra cmpr, contrato cont
WHERE (emp.num = cmpr.num) AND (cont.cod = inst.cod) AND (cont.num = emp.num)
AND (cont.ano = to_char(cmpr.data_compra,'YYYY'))
GROUP BY emp.nome, inst.nome, to_char(cmpr.data_compra,'YYYY');

Resultado:

NOME  NOME  TO_CHAR(CMPR.DATA_COMPRA,YYYY)  SUM(CMPR.PRECO_VENDA)  COUNT(*)

---------------------------------------- -------------------- ------------------------------ ---------------------- ----------------------

Jorge Jesus      Capas Negras        1997          2600          4

Jorge Jesus      Loja do Mario      1996          650            1

Jorge Jesus      Um Sitio Qualquer  2005          650            1

Luis Lavoisier  Capas Negras        1996          2974          9

Luis Lavoisier  Capas Negras        1997          1300          2

Luis Lavoisier  A Flor do ego        1999          80              1

Luis Lavoisier  A Flor do ego        2000          80              1

Luis Lavoisier  A Flor do ego        2001          650              1

Luis Lavoisier  A Flor do ego        2002          1300          2

Luis Lavoisier  A Flor do ego        2003          650            1

Luis Lavoisier  A Flor do ego        2004          700            1

Luis Lavoisier  A Flor do ego        2005          700            1

Luis Lavoisier  O Cantinho dos PCs 1998          1460          4

13 rows selectedEu ja tentei de enumeras formas para me dar apenas o que tem maior numero de vendas na mesma loja e no mesmo ano... mas nao consegui...

Alguma sujestao ???

Desde ja mt obrigado!

Posted

Boas tenho uma pequena duvida...

Tenho como objectivo o nome completo e valor total de vendas dos vendedores que mais vendas

efectuaram por loja e ano.

Deves ter de fazer um join com uma query para veres o max do valor por ano, e por loja.

Posted

descreve as tabelas... acho q te posso ajudar com isto

Empregado ( num , NC , BI , nome , morada , telefone , tipo )

Instalacao ( cod , nome , morada , telefone , fax , CComercial , classificacao , area , tipo , Empregado.num_gestor )

Contrato ( Empregado.num , ano , Instalacao.cod )

Compra ( ncompra , Artigo.n_serie , Cliente.n_cliente , Empregado.num , data_compra , preco_venda ) 

Desde ja mt obrigado. []

Posted

Tens o resultado, agora é só selecionar desse resultado o max agrupando por loja.

Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Posted

Estás a dizer isto ??

SELECT emp.nome, inst.nome, to_char(cmpr.data_compra,'YYYY'), SUM(cmpr.preco_venda), MAX(COUNT(*))

GROUP BY inst.nome, to_char(cmpr.data_compra,'YYYY');

Se for, nao funciona... "not a single-group group function"

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.