Sobre TSqlQuery
Estou tentando fazer uma consulta sql utilizando esse componente, porem esta consulta sera feita com clausula Group by, mas ele retorna todos os registro e nao agrupa, agora se eu colocar provider+clientdaset e enviar a consulta via comandtext do clientdatset retorna os registro agrupados, tem algum macete para utilizar somente a TSqlQuery?
Abs
Abs
Felipeiw
Curtidas 0
Respostas
Paullsoftware
15/05/2006
até onde eu sei, não existe segredos nenhum... comandos SQL puro...
Mostra ai como você está fazendo!
Qual banco você está usando!
Mostra ai como você está fazendo!
Qual banco você está usando!
GOSTEI 0
Felipeiw
15/05/2006
Estou utilizando PostgreSQL:
Com o ClientDatast funciona, mas somente com TSQLQuery nao funciona, ou melhor nao agrupa.
Abs
CdsSaldo.Close; CdsSaldo.CommandText := ´SELECT codpro,modelo, SUM(*) as saldo FROM cemovimentos WHERE codpro = ´+xcodpro+´ AND SUBCOD LIKE ´´´+xsubcod+´´´ AND codare = ´´4´´ AND numdoc = ´´0´´ AND datsai IS NULL GROUP BY codpro,modelo´; CdsSaldo.Open;
Com o ClientDatast funciona, mas somente com TSQLQuery nao funciona, ou melhor nao agrupa.
Abs
GOSTEI 0
Paullsoftware
15/05/2006
vou testar aqui e já já te dou um retorno :wink:
GOSTEI 0
Paullsoftware
15/05/2006
amigo, fiz alguns testes aqui e funcionou perfeitamente. As únicas alterações que fiz foram: mudei os campos claro, usei o meu banco de dados, não usei os paramentros diretamente na instrução SQL, passei todas como parametros via codigo a minha instrução SQL ficou assim:
aqui funcionou normal, veja uma image do sistema que fiz:
faz um teste, usa paramentros na pesquisa pra ver, porém realmente tem coisas que fazendo diretamente no CDS funcionam melhor do que fazendo na Query... :wink: espero ter ajudado
SELECT CLIENTE, LOCATARIO, COUNT(*) AS LOCACOES FROM TOP_CLIENTES WHERE CLIENTE<>0 GROUP BY CLIENTE, LOCATARIO ORDER BY 3 DESC
aqui funcionou normal, veja uma image do sistema que fiz:
faz um teste, usa paramentros na pesquisa pra ver, porém realmente tem coisas que fazendo diretamente no CDS funcionam melhor do que fazendo na Query... :wink: espero ter ajudado
GOSTEI 0
Cac2000
15/05/2006
Porque ´SUM(*)´??? Não devia ser SUM(alguma_coluna) ????
GOSTEI 0
Felipeiw
15/05/2006
Caro amigo, agradeço por demais sua ajuda, mas nao entendo aqui nao funciona, fiz um select simples como segue abaixo, sem necessidade de parametros e nao funciona.
Lembrando estou utilizando Postgresql, delphi 7
SELECT codpro,modelo, COUNT(*) as saldo FROM cemovimentos GROUP BY codpro,modelo
Lembrando estou utilizando Postgresql, delphi 7
GOSTEI 0
Paullsoftware
15/05/2006
Caro amigo, agradeço por demais sua ajuda, mas nao entendo aqui nao funciona, fiz um select simples como segue abaixo, sem necessidade de parametros e nao funciona.
Lembrando estou utilizando Postgresql, delphi 7
SELECT codpro,modelo, COUNT(*) as saldo FROM cemovimentos GROUP BY codpro,modelo
não sei se tem algo haver mais aqui uso IB/FB com Delphi 7 e DbExpress
GOSTEI 0