create table funcionario( idfunc mediumint primary key, iddept mediumint not null, nomefunc varchar(20) not null, cargo varchar(20) not null, dtadm date not null, salario float not null, comissao float);
insert into funcionario values (1,3,'Antonio','Supervisor','10/october/2005',3700.00,600.00); insert into funcionario values (2,5,'Vilmar','Analista','01/january/1999',4300.00,2000.00); insert into funcionario values (3,3,'Mauro','Gerente','10/april/2010',4500.00,2500.00); insert into funcionario values (4,3,'Paulo','Auxiliar','09/february/2016',1200.00,640.00); insert into funcionario values (5,4,'Rogerio','Gerente','09/june/2010',4300.00,6700.00); insert into funcionario values (6,5,'Ana','Presidente','09/april/1996',8000.00,3440.00); insert into funcionario values (7,6,'Mauricio','Auxiliar','03/february/2014',2500.00,340.00); insert into funcionario values (8,6,'Victor','Supervisor','06/february/2013',3400.00,440.00); insert into funcionario values (9,2,'Jose','Analista','08/july/2016',4200.00,640.00);
O problema ocorre no phpmyadmin, também no sql live e sqlplus da oracle 11g, ao realizar uma subconsulta como esta:
select nomefunc, cargo, salario from funcionario where salario in (select max(salario) from funcionario group by cargo) order by cargo asc;
resultado da consulta:
NOMEFUNC CARGO SALARIO
Vilmar Analista 4300
Mauricio Auxiliar 2500
Mauro Gerente 4500
Rogerio Gerente 4300
Ana Presidente 8000
Antonio Supervisor 3700
Trás o cargo Gerente duplicado, alguém saberia o porque disto? pois o agrupamento já tem a função de distinção, omais estranho é que quando dou update no salario do analista'Vilmar' que possue o mesmo salario que o gerente'Rogerio',o cargo de gerente para de duplicar nesta consulta que demonstrei.
Pergunta
Gustavo Aparecido
Bom dia a todos,
Editado por Gustavo AparecidoEstou com o seguinte script
create table funcionario(
idfunc mediumint primary key,
iddept mediumint not null,
nomefunc varchar(20) not null,
cargo varchar(20) not null,
dtadm date not null,
salario float not null,
comissao float);
insert into funcionario values (1,3,'Antonio','Supervisor','10/october/2005',3700.00,600.00);
insert into funcionario values (2,5,'Vilmar','Analista','01/january/1999',4300.00,2000.00);
insert into funcionario values (3,3,'Mauro','Gerente','10/april/2010',4500.00,2500.00);
insert into funcionario values (4,3,'Paulo','Auxiliar','09/february/2016',1200.00,640.00);
insert into funcionario values (5,4,'Rogerio','Gerente','09/june/2010',4300.00,6700.00);
insert into funcionario values (6,5,'Ana','Presidente','09/april/1996',8000.00,3440.00);
insert into funcionario values (7,6,'Mauricio','Auxiliar','03/february/2014',2500.00,340.00);
insert into funcionario values (8,6,'Victor','Supervisor','06/february/2013',3400.00,440.00);
insert into funcionario values (9,2,'Jose','Analista','08/july/2016',4200.00,640.00);
O problema ocorre no phpmyadmin, também no sql live e sqlplus da oracle 11g, ao realizar uma subconsulta como esta:
select nomefunc, cargo, salario from funcionario where salario in (select max(salario) from funcionario group by cargo) order by cargo asc;
resultado da consulta:
NOMEFUNC CARGO SALARIO
Vilmar Analista 4300
Mauricio Auxiliar 2500
Mauro Gerente 4500
Rogerio Gerente 4300
Ana Presidente 8000
Antonio Supervisor 3700
Trás o cargo Gerente duplicado, alguém saberia o porque disto? pois o agrupamento já tem a função de distinção, o mais estranho é que quando dou update no salario do analista 'Vilmar' que possue o mesmo salario que o gerente 'Rogerio', o cargo de gerente para de duplicar nesta consulta que demonstrei.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.