Ir para conteúdo
Fórum Script Brasil
  • 0

GROUP BY


Guest --aLEXANDRE --

Pergunta

Guest --aLEXANDRE --

Ola galera! sou novo em programação e preciso de uma ajuda.

estou usando delphi 7

tabelas *.dbf

e os componentes ado para consexão com as mesmas.

preciso mostrar em relatório as minhas vendas de forma sintetica.

hoje consigo ter m meu relatório o seguinte

CADMOV.TIPO_OPER CADMOV.NOTA_FISC CADMOV.TOTAL_NOTA VENDEDOR.NOME

VPS 12345 100,00 ALEXANDRE

VPS 12345 100,00 ALEXANDRE

VPS 54321 200,00 JOAO

prem preciso que no meu relatório apareça da seguinte forma

CADMOV.TIPO_OPER CADMOV.NOTA_FISC CADMOV.TOTAL_NOTA VENDEDOR.NOME

VPS 12345 100,00 ALEXANDRE

VPS 54321 200,00 JOAO

estou usando o seguinte codigo para tentar agrupar, porem não esta dando certo

SELECT First(CADMOV.data_mov) AS PrimeiroDedata_mov, CADMOV.nota_fisc, First(CADMOV.Total_nota) AS PrimeiroDeTotal_nota, VENDEDOR.NOME

FROM (CADMOV INNER JOIN TIPOS ON CADMOV.tipo_oper = TIPOS.TIPO) INNER JOIN vendedor ON CADMOV.Cod_vend = vendedor.COD_vend

GROUP BY First(CADMOV.data_mov), CADMOV.nota_fisc

aparece a mensagem sql: group by clause or missing is invalid

o que eu faço?

me ajudem por favor

Editado por Micheus
Não observação do item 3.7 das regras do forum - NÃO digite em caixa alta (1º aviso)
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Antes de mais nada, tente observar as regras do forum e até por questão de visualização, evite digitar todo o texto em caixa ALTA.

hoje consigo ter m meu relatório o seguinte

CADMOV.TIPO_OPER CADMOV.NOTA_FISC CADMOV.TOTAL_NOTA VENDEDOR.NOME

VPS 12345 100,00 ALEXANDRE

VPS 12345 100,00 ALEXANDRE

VPS 54321 200,00 JOAO

prem preciso que no meu relatório apareça da seguinte forma

CADMOV.TIPO_OPER CADMOV.NOTA_FISC CADMOV.TOTAL_NOTA VENDEDOR.NOME

VPS 12345 100,00 ALEXANDRE

VPS 54321 200,00 JOAO

Alexandre, foi descuido seu ou você quer realmente listar apenas um dos registros.

Veja que você fala em AGRUPAR, mas se olharmos seu exemplo, no resultado que você pretende obter o ALEXANDRE tem TOTAL_NOTA = 100,00, enquanto que, se fosse para agrupar baseado no resultado da primeira tabela, deveria ser 200,00.

estou usando o seguinte codigo para tentar agrupar, porem não esta dando certo

SELECT First(CADMOV.data_mov) AS PrimeiroDedata_mov, CADMOV.nota_fisc, First(CADMOV.Total_nota) AS PrimeiroDeTotal_nota, VENDEDOR.NOME

FROM (CADMOV INNER JOIN TIPOS ON CADMOV.tipo_oper = TIPOS.TIPO) INNER JOIN vendedor ON CADMOV.Cod_vend = vendedor.COD_vend

GROUP BY First(CADMOV.data_mov), CADMOV.nota_fisc

Entretanto, no seu SELECT, você faz referência a FIRST, o que sugere que você quer realmente pegar apenas o 1ª registro, e neste caso, não faz sentido o uso de GROUP BY, já FIRST faz retornar apenas a primeira linha do resultado da consulta.

Está confuso, não acha?!

aparece a mensagem sql: group by clause or missing is invalid
De qualquer forma, observe que você não utilizou qualquer função de agregação, tal como SUM, COUNT, MAX. Também, quando da utilização de GROUP BY, nesta cláusula devem constar todos os campos que estão definidos no SELECT menos os que correspondem a função de agregação.

Por exemplo:

SELECT CADMOV.data_mov, CADMOV.nota_fisc, VENDEDOR.NOME, SUM(CADMOV.Total_nota) AS Total_nota

FROM (CADMOV INNER JOIN TIPOS ON CADMOV.tipo_oper = TIPOS.TIPO) INNER JOIN vendedor ON CADMOV.Cod_vend = vendedor.COD_vend

GROUP BY CADMOV.data_mov, CADMOV.nota_fisc, VENDEDOR.NOME

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --ALEXANDRE --

Valeu pela dica. Realmente eu me enrrolei um pouco pra explicar o que eu estava precisando, mas a sua reposta foi muito util. Assim q puder eu coloco o que eu estava querendo e o que eu fiz após a sua dica. Obg!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...