Guest --aLEXANDRE -- Postado Novembro 22, 2007 Denunciar Share Postado Novembro 22, 2007 (editado) Ola galera! sou novo em programação e preciso de uma ajuda.estou usando delphi 7tabelas *.dbfe 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 seguinteCADMOV.TIPO_OPER CADMOV.NOTA_FISC CADMOV.TOTAL_NOTA VENDEDOR.NOME VPS 12345 100,00 ALEXANDRE VPS 12345 100,00 ALEXANDRE VPS 54321 200,00 JOAOprem 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 JOAOestou usando o seguinte codigo para tentar agrupar, porem não esta dando certoSELECT First(CADMOV.data_mov) AS PrimeiroDedata_mov, CADMOV.nota_fisc, First(CADMOV.Total_nota) AS PrimeiroDeTotal_nota, VENDEDOR.NOMEFROM (CADMOV INNER JOIN TIPOS ON CADMOV.tipo_oper = TIPOS.TIPO) INNER JOIN vendedor ON CADMOV.Cod_vend = vendedor.COD_vendGROUP BY First(CADMOV.data_mov), CADMOV.nota_fiscaparece a mensagem sql: group by clause or missing is invalido que eu faço?me ajudem por favor Editado Novembro 22, 2007 por Micheus Não observação do item 3.7 das regras do forum - NÃO digite em caixa alta (1º aviso) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Novembro 22, 2007 Denunciar Share Postado Novembro 22, 2007 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 seguinteCADMOV.TIPO_OPER CADMOV.NOTA_FISC CADMOV.TOTAL_NOTA VENDEDOR.NOME VPS 12345 100,00 ALEXANDRE VPS 12345 100,00 ALEXANDRE VPS 54321 200,00 JOAOprem preciso que no meu relatório apareça da seguinte formaCADMOV.TIPO_OPER CADMOV.NOTA_FISC CADMOV.TOTAL_NOTA VENDEDOR.NOME VPS 12345 100,00 ALEXANDRE VPS 54321 200,00 JOAOAlexandre, 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 certoSELECT First(CADMOV.data_mov) AS PrimeiroDedata_mov, CADMOV.nota_fisc, First(CADMOV.Total_nota) AS PrimeiroDeTotal_nota, VENDEDOR.NOMEFROM (CADMOV INNER JOIN TIPOS ON CADMOV.tipo_oper = TIPOS.TIPO) INNER JOIN vendedor ON CADMOV.Cod_vend = vendedor.COD_vendGROUP BY First(CADMOV.data_mov), CADMOV.nota_fiscEntretanto, 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 invalidDe 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_notaFROM (CADMOV INNER JOIN TIPOS ON CADMOV.tipo_oper = TIPOS.TIPO) INNER JOIN vendedor ON CADMOV.Cod_vend = vendedor.COD_vendGROUP BY CADMOV.data_mov, CADMOV.nota_fisc, VENDEDOR.NOME Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --ALEXANDRE -- Postado Novembro 22, 2007 Denunciar Share Postado Novembro 22, 2007 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
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 MicheusNã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
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.