Fórum Erro no group by #397145

11/03/2011

0

Boa noite;

tem tei fazer uma alteração com base em um artigo aqui na devmedia do Bruno Lichot
só que estou tendo um erro. O objetivo é um relatorio master/detail.

O sql modificado é este:

select tbl_usuario.usuario
          ,tbl_usuario.dtnascimento
          ,tbl_usuario.mae
          ,tbl_medico.medico
          ,tbl_undsaude.undsaude
          ,tbl_requisicao.req_guia
          ,tbl_requisicao.req_dtentrada
          ,tbl_requisicao.req_dtentrega
          ,tbl_requisicao.status
        
from
       tbl_requisicao
      ,tbl_examesolicitado
      ,tbl_usuario
      ,tbl_medico
      ,tbl_undsaude
     
where tbl_requisicao.req_dtentrada between :DataIni and :DataFin
and   tbl_requisicao.req_id = tbl_examesolicitado.req_id
and   tbl_requisicao.id_usuario = tbl_usuario.id_usuario

group by tbl_usuario.usuario
         ,tbl_requisicao.req_dtentrada
         ,tbl_requisicao.req_id
         


order by tbl_usuario.usuario
             ,tbl_requisicao.req_dtentrega desc


O erro original é este:

dynamic sql error 
sql error code = -104 
invalid expression in the select list (not contained in either an aggregate function 
or the group by clause) 
invalid token 
error code: 249



Joaci Queiroz

Joaci Queiroz

Responder

Posts

12/03/2011

André Silveira

No group by deve conter todos os campos do select, somente no order que pode ser alguns campos.
Não entendi o motivo do group by, uma vez que vai ordenar os registros e não tem nenhum campo calculado no select, seria desnecessário o group nesse caso.

André Luis.
Responder

Gostei + 0

14/03/2011

Joaci Queiroz

Já resolvir está questão mais tarde posto o codigo, obrigado a todos.
Responder

Gostei + 0

21/03/2011

Joaci Queiroz

Fiz o que o andré Luis, disse e o codigo ficou assim.

select    tbl_usuario.usuario
             ,tbl_usuario.dtnascimento
             ,tbl_usuario.mae
             ,tbl_medico.medico
             ,tbl_undsaude.undsaude
             ,tbl_requisicao.req_id
             ,tbl_requisicao.req_guia
             ,tbl_requisicao.req_dtentrada
             ,tbl_requisicao.req_dtentrega
             ,tbl_requisicao.status
             ,count(tbl_requisicao.req_ID) as req_numero
from
             tbl_requisicao
            ,tbl_examesolicitado
            ,tbl_usuario
            ,tbl_medico
            ,tbl_undsaude
           
           
where tbl_requisicao.req_id =  :Req_id

and   tbl_requisicao.req_id = tbl_examesolicitado.req_id
and   tbl_requisicao.id_usuario = tbl_usuario.id_usuario
and   tbl_requisicao.id_medico = tbl_medico.id_medico
and   tbl_requisicao.id_undsaude = tbl_undsaude.id_undsaude

group by        tbl_usuario.usuario
                     ,tbl_usuario.dtnascimento
                     ,tbl_usuario.mae
                     ,tbl_medico.medico
                     ,tbl_undsaude.undsaude
                     ,tbl_requisicao.req_id
                     ,tbl_requisicao.req_guia
                     ,tbl_requisicao.req_dtentrada
                     ,tbl_requisicao.req_dtentrega
                     ,tbl_requisicao.status

order by       tbl_requisicao.req_id
                   ,tbl_requisicao.req_dtentrega desc
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar