Fórum SQL.ADD #348343
01/11/2007
0
mas quando eu clico em filtar da erro.. e acusa o comando GROUP
como erro... mas eu testo somente o código sql e ele funciona direitinho...
alguem sabe me dizer o que ocorre de errado?
Douglass
Curtir tópico
+ 0Posts
01/11/2007
Douglass
Gostei + 0
01/11/2007
Mayron Cachina
tenta colocar o group com os nomes q vc apelida com o ´as´...
Gostei + 0
01/11/2007
Arc
olhando assim de cara, parece faltar espaços nos seus (´´)
Gostei + 0
01/11/2007
Adriano Santos
[list:31f8f6e714]
[*:31f8f6e714]Procure usar MAÍSCULAS nas Selects. Alguns bancos de dados e componentes de acesso costumam se perder.
[*:31f8f6e714]Procure não usar o número do campo no Order By, para dar manutenção é pouco ruim quando se tem muitos campos no Select. Veja que no exemplo abaixo dei nome ao último campos COUNT e usei ele para dar order by.
[*:31f8f6e714] Se o seu apelido não for composto, não precisa de áspas como em UF e Cidade por exemplo.
[*:31f8f6e714]E por último utilize parâmetros, é mais fácil de entender a rotina.
[/list:u:31f8f6e714]
Outra coisa: na linha:
rua.CD_UF = ´+QuotedStr(combo)
Quem é [b:31f8f6e714]combo[/b:31f8f6e714]? Uma variável? Transformei isso em parâmetro. Veja abaixo.
with IBOQuery, SQL do begin Close; SQL.Clear; Add(´SELECT´); Add(´ RUA.CD_UF AS UF, CAST(DS_UF AS VARCHAR(20)) AS "Unidade Federativa",´); Add(´ RUA.DS_CIDADE AS Cidade, COUNT(RUA.CD_CEP) as "Qt. de CEPs" AS CONTADOR´); Add(´FROM´); Add(´ TAB_RUA RUA,´); Add(´ TAB_UF UF´); Add(´WHERE´); Add(´ RUA.CD_UF = UF.CD_UF AND´); Add(´ RUA.CD_UF = :COMBO´); Add(´GROUP BY´); Add(´ RUA.CD_UF, DS_UF, RUA.DS_CIDADE´); Add(´ORDER BY CONTADOR DESC´); ParamByName(´COMBO´).AsString := Edit1.Text; Open; end;
E notou como visualmente ficou mais organizado o código?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)