Erro no group by
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
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
Curtidas 0
Respostas
André Silveira
11/03/2011
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.
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.
GOSTEI 0
Joaci Queiroz
11/03/2011
Já resolvir está questão mais tarde posto o codigo, obrigado a todos.
GOSTEI 0
Joaci Queiroz
11/03/2011
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
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
GOSTEI 0