Publicidade

Entre para seguir isso  
Seguidores 0
josePeixoto

Erro 'Group By'

Olá, alguém poderia me informar onde está o erro dessa consulta?

SELECT DISTINCT relatorio.CD_RELATORIO,
  relatorio.DT_ATUALIZACAO,
  relatorio.DS_TITULO descricao,
  obter_usuario_pf(relatorio_documentacao.CD_PF_SOLIC) Solicitante,
  obter_usuario_pf(relatorio_documentacao.CD_PF_CRIADOR) Criador,
  wm_concat(perfil.ds_perfil) Perfil
FROM relatorio
INNER JOIN relatorio_documentacao
ON relatorio.NM_USUARIO = relatorio_documentacao.NM_USUARIO
INNER JOIN relatorio_perfil
ON relatorio_documentacao.NR_SEQ_RELATORIO = relatorio_perfil.NR_SEQ_RELATORIO
INNER JOIN PERFIL
ON relatorio_perfil.cd_perfil                               = perfil.cd_perfil
WHERE obter_usuario_pf(relatorio_documentacao.CD_PF_SOLIC) IS NOT NULL
AND obter_usuario_pf(relatorio_documentacao.CD_PF_CRIADOR) IS NOT NULL
AND relatorio.DT_ATUALIZACAO BETWEEN :dt_inicio AND :dt_fim
GROUP BY perfil.ds_perfil,
  relatorio.CD_RELATORIO,
  relatorio.DT_ATUALIZACAO,
  relatorio.DS_TITULO
ORDER BY 4,2,1

Ele está dando o erro: ORA-00979: não é uma expressão GROUP BY.

Obrigado desde já!

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é preciso o "group by" pois não é sql agregadora (sum,count,max etc) , caso seja todas as colunas do select (menos a de grupo) devem estar no group by.

O "distinct" dispinsa o group by.

exemplo

SELECT relatorio.CD_RELATORIO,
  relatorio.DT_ATUALIZACAO,
  relatorio.DS_TITULO descricao,
  obter_usuario_pf(relatorio_documentacao.CD_PF_SOLIC) Solicitante,
  obter_usuario_pf(relatorio_documentacao.CD_PF_CRIADOR) Criador,
  wm_concat(perfil.ds_perfil) Perfil,
  count(*) qtd
FROM relatorio
...
GROUP BY relatorio.CD_RELATORIO,
  relatorio.DT_ATUALIZACAO,
  relatorio.DS_TITULO ,
  obter_usuario_pf(relatorio_documentacao.CD_PF_SOLIC) ,
  obter_usuario_pf(relatorio_documentacao.CD_PF_CRIADOR) ,
  wm_concat(perfil.ds_perfil)
ORDER BY 4,2,1
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora
Entre para seguir isso  
Seguidores 0

  • Próximos Eventos

  • Conteúdo Similar

    • Por Fábio BN
      Olá pessoal.

      Preciso fazer um Select Count, e um Setect Count com Group By numa tabela para pegar a quantidade total de registros.
      Exemplo:
       
      $estoque = "1" $var_total_geral=$pdo->prepare("select count(categoria) from loja_virtual WHERE estoque=:estoque"); $var_total_geral->bindValue(":estoque",$estoque); $var_total_geral->execute(); Depois preciso pegar e exibir a quantidade total  do código acima, porém tem algum erro acima e não sei qual comando usar para exibir a quantidade total.

      Depois preciso fazer outros select agrupado, onde eu preciso saber as quantidade de registros de cada categoria.
      Exemplo:
      Categoria 1 ( 40 Registros )
      Categoria 2 ( 32 Registros )
      Categoria 3 ( 18 Registros )

      Tentei isso abaixo:
      $var_quantidades=$pdo->prepare("select count(categoria) as total from loja_virtual WHERE estoque=:estoque group by categoria" ); $var_quantidades->bindValue(":estoque",$estoque); $var_quantidades->execute(); Como eu faço esse código acima funcionar e como exibo as quantidade agrupadas?

      Se alguém puder me ajudar, Obrigado!
       
      Fábio.
       
    • Por aguimarsp
      Boa noite a todos.
       
       Me desculpem se aqui não é o local para publicar essa pergunta.
       
       Sou novato em Delphi, estudando na unha. Estou criando um sistema que emite ordem de serviços, e queria saber como faço para que o cliente possa consultar via internet as Ordens que foram solicitadas por ele via telefone? Onde ele possa emitir relatórios, imprimir O.S, etc.
       
       Desde já agradeço a todos que puderem me dar uma luz. Abraços.
    • Por tainan_ramos
      Estava fazendo um query hoje e me deparei com uma consulta diferente onde estava sendo usado um select com duas tabelas exemplo.
       
      select * from table1, table2
      where table1.idtable = table2.idtable;
       
      Porém isso também poderia ser feito com join, que é a forma que costumo trabalhar.
       
      select * from table1
      inner join table2 on (table1.idtable = table2.idtable);
       
      ambas funcionam, minha dúvida é quando devemos usar uma e quando devemos usar a outra?
    • Por netocazuza
      Boa noite a todos. O meu sistema está gravando os dados num arquivo txt, pois é algo simples e experimental por enquanto. A página que estou postando o código na sequência, lista todos os registros desse arquivo txt, porém eu gostaria de saber se também posso fazer consultas específicas e qual a sintaxe. Vejam o código: Ele está listando todas as apostas feitas. Na tela anterior, a pessoa digita num textbox um número de 0 a 100, e mais algumas informações, clica em gravar, e as informações são gravadas nesse arquivo apostas.txt. Esse arquivo abaixo, lista tudo isso na tela, no formato txt mesmo. Porém lista todas as informações, e eu queria que listasse de acordo com alguns parâmetros. Por exemplo: listar os dados de todos que escolheram o número 88, ou listar todos os prefixos 11, e por aí vai. Cada item desses que citei, são variáveis do sistema.
      <?php // cria nome de variavel abreviado $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT']; ?> <html> <head> <title>Apostas feitas</title> </head> <body bgcolor="#00C2F7"> <h2>Apostas</h2> <?php @ $fp = @fopen('apostas.txt','r'); if (!$fp) { echo '<p><strong> Número de pedidos.' .'Por favor, tente novamente mais tarde.</strong></p>'; exit; } while (!feof($fp)) { $order= fgets($fp, 999); echo $order.'<br />'; } fclose($fp); ?> </body> </html>  
    • Por cleitonteixeira
      Boa tarde!
      Estou com uma dúvida, é possível gerar arquivos pdf usando o ireport e o php? Já tentei usando algumas ferramentas mas nenhuma me deu um resultado, a tela ficou simplesmente branca sem nenhuma informação, alguém teria uma classe ou arquivos de exemplo para que eu posso implementar esse relatório ao meu sistema?