UnCiViLiZeD Posted December 5, 2006 at 03:03 AM Report #68855 Posted December 5, 2006 at 03:03 AM 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!
Johnny Digital Posted December 5, 2006 at 10:14 PM Report #69039 Posted December 5, 2006 at 10:14 PM descreve as tabelas... acho q te posso ajudar com isto
rgcaldas Posted December 6, 2006 at 01:19 AM Report #69100 Posted December 6, 2006 at 01:19 AM 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.
UnCiViLiZeD Posted December 6, 2006 at 03:43 AM Author Report #69121 Posted December 6, 2006 at 03:43 AM 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. []
shumy Posted December 6, 2006 at 09:59 AM Report #69133 Posted December 6, 2006 at 09:59 AM 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!
UnCiViLiZeD Posted December 7, 2006 at 01:19 PM Author Report #69331 Posted December 7, 2006 at 01:19 PM 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"
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now