Dúvida no Script
24/05/2012
0
Estou apanhando para fazer um select, alguém poderia me ajudar?
Isso é permitido no MSSQL?
select EST_DATA_ENTRADA,EST_FK_EPI,EST_CUST_UND
from ESTOQUE
where EST_DATA_ENTRADA, EST_FK_EPI in
(select max(EST_DATA_ENTRADA), EST_FK_EPI from ESTOQUE
group by EST_FK_EPI) order by EST_FK_EPI
Esta ocorrendo o seguinte erro:
Msg 4145, Level 15, State 1, Line 3
An expression of non-boolean type specified in a context where a condition is expected, near ,.
Valeu,
Bruno
Bruno Banfi
Posts
24/05/2012
Joel Rodrigues
24/05/2012
Bruno Leandro
SELECT A.EST_DATA_ENTRADA,A.EST_FK_EPI,A.EST_CUST_UND
FROM ESTOQUE A
WHERE A.EST_DATA_ENTRADA =(SELECT MAX(X.EST_DATA_ENTRADA) FROM ESTOQUE X WHERE X.EST_FK_EPI = A.EST_FK_EPI)
ORDER BY EST_FK_EPI
24/05/2012
Bruno Banfi
Gostaria de fazer a seguinte consulta.
select EST_DATA_ENTRADA, EST_FK_EPI, EST_CUST_UND
from ESTOQUE
where EXISTS (select max(EST_DATA_ENTRADA), EST_FK_EPI from ESTOQUE
group by EST_FK_EPI) order by EST_FK_EPI
Resultado:
EST_DATA_ENTRADA EST_FK_EPI EST_CUST_UND
2012-03-28 NULL 23.00
2011-09-28 2 0.65
2012-05-16 2 0.69
2012-05-16 4 1.55
2011-09-30 4 1.55
2012-02-17 4 1.55
2011-09-28 59 3.05
2011-09-30 77 3.05
2012-02-17 77 3.05
2011-10-27 77 3.75
Preciso que o resultado pegue o Valor com a data mais recente:
EST_DATA_ENTRADA EST_FK_EPI EST_CUST_UND
2012-03-28 NULL 23.00
2012-05-16 2 0.69
2012-05-16 4 1.55
2011-09-28 59 3.05
2012-02-17 77 3.05
Poderia me dar um help?
Abraço,
24/05/2012
Bruno Leandro
SELECT Distinct on ( A.EST_FK_EPI ) A.EST_DATA_ENTRADA,A.EST_FK_EPI,A.EST_CUST_UND
FROM ESTOQUE A
WHERE A.EST_DATA_ENTRADA =(SELECT MAX(X.EST_DATA_ENTRADA) FROM ESTOQUE X WHERE X.EST_FK_EPI = A.EST_FK_EPI)
ORDER BY EST_FK_EPI
24/05/2012
Bruno Banfi
Valeu pelo retorno.
Ocorre o seguinte erro:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword on.
Valeu,
Bruno
24/05/2012
Bruno Leandro
SELECT Distinct on ( A.EST_FK_EPI ) A.EST_DATA_ENTRADA,A.EST_FK_EPI,A.EST_CUST_UND
FROM ESTOQUE A
WHERE A.EST_DATA_ENTRADA =(SELECT MAX(X.EST_DATA_ENTRADA) FROM ESTOQUE X WHERE X.EST_FK_EPI = A.EST_FK_EPI)
ORDER BY A.EST_FK_EPI
24/05/2012
Bruno Banfi
SELECT Distinct A.EST_DATA_ENTRADA,A.EST_FK_EPI,A.EST_CUST_UND
FROM ESTOQUE A
WHERE A.EST_DATA_ENTRADA =
(SELECT MAX(X.EST_DATA_ENTRADA) FROM ESTOQUE X, EPI as H
WHERE X.EST_FK_EPI = A.EST_FK_EPI)
ORDER BY A.EST_FK_EPI
Vou conferir os valores e já dou um feedback.
Valeu,
Bruno
24/05/2012
Bruno Banfi
Deu certinho!!
Muito obrigado brother!
Abraços,
Bruno
24/05/2012
Bruno Leandro
24/05/2012
Luiz Vichiatto
IN (valor1, valor2, ....)
no caso estava passando mais de um campo na consulta que estava no select que estava no IN
Clique aqui para fazer login e interagir na Comunidade :)