Fórum Ajuda na query #348457
05/11/2007
0
Eis a minha query:
Essa query está quase funcionando exceto o seguinte: Deveria trazer somente um resultado, mas está trazendo dois, com datas diferentes, mas o que eu quero é uma única data, ou seja, a mais atual. Sei que eu tenho que meter uma subquery, mas não tô enxergando nada.
MsSql Server 2000 e D7.
SELECT ESCALA.ESCODIGO,MAX(ESCAHIST.EHDTINICIO) AS DATAATUAL FROM ESCAHIST,
ESCALA,FUNCIONA
WHERE
ESCALA.ESCODIGO = ESCAHIST.EHESCALA AND
ESCAHIST.EHEMPSIS = FUNCIONA.FUCODEMP AND
ESCAHIST.EHMATRICULA = FUNCIONA.FUMATFUNC AND
ESCAHIST.EHEMPSIS = 1 AND
ESCAHIST.EHMATRICULA = 724
GROUP BY ESCALA.ESCODIGO
Essa query está quase funcionando exceto o seguinte: Deveria trazer somente um resultado, mas está trazendo dois, com datas diferentes, mas o que eu quero é uma única data, ou seja, a mais atual. Sei que eu tenho que meter uma subquery, mas não tô enxergando nada.
MsSql Server 2000 e D7.
Paulo
Curtir tópico
+ 0
Responder
Posts
06/11/2007
Paulo
O resultado é o seguinte:
Deveria ser somente o 033, pois ele tem a data mais recente, porem esse funcionário já pertenceu às duas escalas supra. A query me trouxe as duas datas mais atual das escalas que ele pertenceu, mas no meu caso mne interessa somente a mais atual entre todas, não me interessa saber se ele pertenceu a essa ou aquela escala, não sei se fiquei claro.
ESCODIGO DATAATUAL
023 2007-02-16 00:00:00.000
033 2006-05-01 00:00:00.000
Deveria ser somente o 033, pois ele tem a data mais recente, porem esse funcionário já pertenceu às duas escalas supra. A query me trouxe as duas datas mais atual das escalas que ele pertenceu, mas no meu caso mne interessa somente a mais atual entre todas, não me interessa saber se ele pertenceu a essa ou aquela escala, não sei se fiquei claro.
Responder
Gostei + 0
06/11/2007
Paulo
Achei a resposta, eis aí:
SELECT
ES.ESCODIGO
FROM
ESCAHIST EH, ESCALA ES, FUNCIONA FU
WHERE
EH.EHDTINICIO IN (SELECT MAX(EHDTINICIO) FROM ESCAHIST
WHERE ESEMPSIS = ES.ESEMPSIS AND
EHMATRICULA = EH.EHMATRICULA AND
EHDTINICIO >= ´2006-01-01´ AND
EHDTINICIO <= ´2007-12-31´) AND
EH.EHESCALA = ES.ESCODIGO AND
EH.EHEMPSIS = FU.FUCODEMP AND
EH.EHMATRICULA = FU.FUMATFUNC AND
EH.EHEMPSIS = 1 AND
EH.EHMATRICULA = 724
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)