Pesquisar na Comunidade
Mostrando resultados para as tags ''subquery''.
Encontrado 8 registros
-
Bom dia, Estou apanhando desde ontem em uma sentença Quando eu faço o select fora da sentença sozinho, os dados são demonstrados corretamente, porém, na subquery me ocorre esse erro: Multiple columns are specified in an aggregated expression containing an outer reference. If an expression being aggregated contains an outer reference, then outer reference must be the only column referenced in the expression. Gostaria de uma ajuda por gentileza, não tenho mais o que fazer. Sublinhei onde ocorre o erro. Segue o Select: SELECT DISTINCT FUN.IDFUNCIONARIO, FER.CHAPA, FER.INICIOPERAQUIS, FER.FIMPERAQUIS, CASE WHEN FU.CODSITUACAO IN ('A', 'E') AND FER.PERIODOABERTO = 1 THEN (DATEDIFF(DAY, FER.INICIOPERAQUIS,GETDATE())/12) - (SELECT SUM(CASE WHEN PPP.NRODIASFERIAS IS NOT NULL AND FER.PERIODOABERTO = 1 THEN PPP.NRODIASFERIAS ELSE 0 END) FROM PFUFERIASPER PPP WHERE FER.CODCOLIGADA = PPP.CODCOLIGADA AND FER.CHAPA = PPP.CHAPA AND PPP.FIMPERAQUIS = FER.FIMPERAQUIS GROUP BY PPP.CHAPA) WHEN FU.CODSITUACAO IN ('C', 'D') THEN 0 ELSE FER.SALDO END VL_SALDO_FERIAS, FROM PFUFERIAS FER LEFT OUTER JOIN FOL_FUNCIONARIOS FUN ON FUN.CHAPA = FER.CHAPA LEFT OUTER JOIN PFUFERIASPER PER ON PER.CODCOLIGADA = FER CODCOLIGADA AND PER.CHAPA = FER.CHAPA AND PER.FIMPERAQUIS = FER.FIMPERAQUIS LEFT OUTER JOIN PFUNC FU ON FU.CODCOLIGADA = FER.CODCOLIGADA AND FU.CHAPA = FER.CHAPA
-
query Query para retornar Lista de Conversas c/ ultima Msg
uma questão postou Cesar Masserati Procopio MySQL
Boa Tarde Pessoal, Estou enviando duas Imagens para ajudar a ilustrar o que estou tentando fazer. Seguinte estou batendo a minha cabeça com isso e preciso de uma luz para resolver, por favor. Estou recriando o WhatsApp Web para fins de aprendizagem, estou tentando fazer uma QUERY que me retorne a lista das pessoas que estou conversando, e também a Última Mensagem da conversa que tive com a pessoa. EXEMPLO: Retornar a lista das Pessoas que conversam com o Cesar Neste caso teria que me retornar a lista abaixo: idAmigo NomeAmigo UltimaMsg DataMsg 8779 Adelita Pereira Machado Couto Msg CINCO - Cesar enviou para Adelita 05/07/2018 17:22 7669 Hellen Sabrina de Brito Msg TRES - Hellen enviou para Cesar 05/07/2018 12:31 63 Sandro Batista Dos Santos Msg UM - Cesar enviou para Sandro 05/07/2018 17:22 1545 Gino Cezar dos Santos Msg UM - Gino enviou para Cesar 05/07/2018 17:20 -
Boa noite, Alguém tem ideia o porque essa subtração não funciona? Na divisão funciona normalmente, mas deste modo não vai de jeito algum. select origem2.newcampo - origem2.campo as teste,origem2.* from( select origem.*, round( case when origem.newcamp> 5645 then 5645 else origem.newcamp end , 2)AS newcampo1 Obrigado
-
Bom dia a todos,Estou com o seguinte scriptcreate 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 3700Trá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.
-
Boa tarde, pessoal! É o seguinte, eu criei uma trigger para alterar alguns campos dentro da própria tabela da trigger para evitar retrabalho na codificação, até aí tudo bem. Nesta trigger eu tenho uma função que retorna a chave primária de uma tabela nossa para fins de logs, nesse caso, para saber que realizou o cancelamento, mas ao atribuir o valor que essa função retorna para o campo da tabela da trigger, o campo continua nulo (MAS ELE RETORNA!, Fiz um teste inserindo o registro que deveria ser atribuindo, inserindo-o numa tabela de teste, e foi inserido com sucesso!). Segue a trigger: DECLARE vidlogorigem integer; vgeralog boolean = false; BEGIN IF tg_op = 'UPDATE' THEN vgeralog = (OLD.sit <> 'CC') AND (NEW.sit = 'CC'); ELSEIF tg_op = 'INSERT' THEN vgeralog = NEW.sit = 'CC'; END IF; IF vgeralog THEN vidlogorigem = (select getidlogorigem()); insert into teste(id) values (vidlogorigem); NEW.teste = vidlogorigem; NEW.datacancel = clock_timestamp(); END IF; RETURN NEW; END; A função "getidlogorigem" é a que me retorna a chave primária duma tabela de usuários. Eu utilizo isto em outros lugares que funcionam tranquilamente. Obrigado!
-
- trigger
- postgresql
-
(e %d mais)
Tags:
-
Bom Dia, Pessoal, sei que deve ser algo bem basico dentro da linguagem PHP, mas estou com uma duvida... Eu fiz uma Consulta na minha tabela cadastro_nf, eu digito o nome do Cliente, e a consulta me retorna todos os dados da tabela, que tenham aquela nome. Agora, eu preciso de uma consulta, dentro dessa consulta, que com os nomes encontrados, ela filtre os clientes pela data digitada. Segue o codigo: $buscar=$_POST['buscar']; $sql = ("SELECT * FROM cadastro_nf WHERE nf_cliente LIKE '%".$buscar."%'");
- 1 resposta
-
- subquery
- subconsulta
- (e %d mais)
-
Boa tarde amigos, Estou com um problema em um select, quando tenho mais de uma data a query retorna valores duplicados Abaixo o script SELECT LIVROS.DESCRICAO AS LIVRO, ISNULL((SELECT COUNT(HORARIOS.CONFIRMADO) WHERE HORARIOS.CONFIRMADO = 'T'),0) AS CONFIRMADOS, ISNULL((SELECT COUNT(HORARIOS.CONFIRMADO) WHERE HORARIOS.CONFIRMADO = 'F'),0) AS "NÃO CONFIRMADOS" FROM HORARIOS INNER JOIN LIVROS ON (HORARIOS.LIVROID = LIVROS.LIVROID) WHERE HORARIOS.DATA >= '6/01/2015' AND HORARIOS.DATA <= '6/24/2015' GROUP BY LIVROS.DESCRICAO, HORARIOS.CONFIRMADO ORDER BY LIVROS.DESCRICAO Abaixo o resultado que o sql traz com este select Eu gostaria de trazer o que for do livro em uma linha só. Eu tentei usar os comandos MAX ou SUM, mas o SQL não aceita funções de agregações em subquerys. Alguém sabe como resolvo isso?
- 1 resposta
-
Olá pessoal, eu estou desenvolvendo um sistema onde o usuário irá cadastrar campanhas de marketing e criará urls vinculadas a cada campanha, assim contará quantos cliques sua campanha terá e o total de vendas o link que ele fez terá também! Porém estou fazendo uma listagem destas campanhas e a subquery que mostra o valor e o total de cliques ficou muito pesada, e se eu utilizo o join para melhorar o desempenho dentro delas o resultado do count e do sum ficam todos iguais. Alguém poderia me dar uma ajuda? segue o codigo SELECT `campanhas` . *, (SELECT COUNT(idhistorico_campanha) FROM historico_campanha WHERE idhistorico_campanha = idcampanha) AS `total_compras` FROM `campanhas` LEFT JOIN `campanhas_hist` ON historico_campanha.idhistorico_campanha = campanhas.idcampanha LEFT JOIN `compras` ON compras.idcompra= historico_campanha.idcompra GROUP BY `idcampanha` ORDER BY `data_campanha` DESC Agora o exemplo do resultado: Codigo Campanha Titulo Data Cadastro Total compras 941, 'Facebook/Strokes', '2014-06-03 11:02:42', '7473' 940, 'Facebook/Stones', '2014-06-03 11:02:30', '7473' Deveria ser Agora o exemplo do resultado: Codigo Campanha Titulo Data Cadastro Total compras 941, 'Facebook/Strokes', '2014-06-03 11:02:42', '344' 940, 'Facebook/Stones', '2014-06-03 11:02:30', '893'