Fórum Problema com SQL #49992
23/03/2005
0
Select First 20 A.IdAluno, A.Nome, A.CPF, (select r.nome from alunosresponsaveis r where r.idresponsavel=a.idmae) as nomemae, (select r.nome from alunosresponsaveis r where r.idresponsavel=a.idpai) as nomepai, (select r.nome from alunosresponsaveis r where r.idresponsavel=a.idresponsavel) as nomeresponsavel from Alunos A where (A.SituacaoAtual = ´Matriculado´) and A.Nome like´Vic¬´ Group by A.IdAluno, A.Nome, A.CPF
que me retorna o seguinte erro [b:f502b1629a]´SQL error code = -104.
user name required.´[/b:f502b1629a] (Utilizando o IB Expert)
acredito que o erro está no Group By pq qdo retiro ele, a consulta me retorna o efeito desejado, tentei colocar os apelidos, ´nomemae, nomepai, nomeresponsavel´ mas não funciona me retorna [b:f502b1629a]´Column unknown.´[/b:f502b1629a]... o que pode ser, estou utilizando a verção 1.5 do Firebird conectado com dbExpress+SQLDataSet...
Bruno Belchior
Curtir tópico
+ 0Posts
23/03/2005
Faelcavalcanti
:x
Essa tá difícil!!!
Gostei + 0
23/03/2005
Bruno Belchior
Gostei + 0
23/03/2005
Faelcavalcanti
Cara se tu, tentar assim sem a referência do First 20, funciona, pelo menos já é alguma coisa, tipow:
Select A.IdAluno, A.Nome, A.CPF, R.Nome As NomeResponsavel from Alunos A, alunosresponsaveis r where r.idresponsavel=a.idresponsavel or r.idresponsavel=a.idmae or r.idresponsavel=a.idpai and (A.SituacaoAtual = ´Matriculado´) and A.Nome like´Vic¬´ Group by A.IdAluno, A.Nome, A.CPF, R.Nome
Assim resolve cara, se não talvez agente tenha que utilizar alguns [b:da0f8af934]JOINS[/b:da0f8af934] e/ou coisa do tipow sei lá ???
Gostei + 0
23/03/2005
Bruno Belchior
Gostei + 0
23/03/2005
Faelcavalcanti
:x
Cara se não for assim, não sei não, expremo, expremo e não sai nada da cuca!
O problema é que você quer associar dentro de um [b:c525af455f]Select[/b:c525af455f], uma consulta com uma valor já retornado a partir de um filtro. Isso é um pouco complexo, me lembro de ter utilizado isto no Access uma função do tipo [b:c525af455f]iff[/b:c525af455f], quebrava até um galhinho mas quando fui passar pra Firebird me laskei.
Outra alternativa que eu poderia passar para você seria, de separar várias Queries e juntá-las associando os seus valores. Você está utilizando para que ?? Uma View, um relatório ????
:wink:
Dependerá do caso e do seu objetivo!
Gostei + 0
23/03/2005
Bruno Belchior
Gostei + 0
23/03/2005
Gandalf.nho
Gostei + 0
23/03/2005
Emerson Nascimento
Select First 20 A.IdAluno, A.Nome, A.CPF, Mae.Nome NomeMae, Pai.Nome NomePai, Resp.Nome NomeResponsavel, from Alunos A left join AlunosResponsaveis Mae on (Mae.idResponsavel=A.idMae) left join AlunosResponsaveis Pai on (Pai.idResponsavel=A.idPai) left join AlunosResponsaveis Resp on (Resp.idResponsavel=A.idResponsavel) where (A.SituacaoAtual = ´Matriculado´) and A.Nome like ´Vic¬´
Gostei + 0
23/03/2005
Faelcavalcanti
Olha aí cara o que o [b:f1d1329536]emerson.en[/b:f1d1329536] fez, não é possível que não funcione. Perfect!!!!
Gostei + 0
23/03/2005
Bruno Belchior
Gostei + 0
24/03/2005
Bruno Belchior
Gostei + 0
24/03/2005
Emerson Nascimento
se foi de uma forma diferente das dicas dadas, relate sua experiência aqui, para que sirva para outros usuários.
Gostei + 0
24/03/2005
Bruno Belchior
Gostei + 0
24/03/2005
Bruno Belchior
Gostei + 0
24/03/2005
Emerson Nascimento
[url]http://www.clubedelphi.net/apostilas/ApostiladeFirebird.pdf[/url]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)