从有点复杂的SQL语句到prepareStatement

时间:2018-12-13 16:06:18

标签: sql oracle

嘿,我在使用sql,oracle时遇到麻烦了。

SELECT MODEL, V_GODINA, DATUM_OSIGURANJA  FROM EVP_V_KASKO_ZB WHERE 
DATUM_OSIGURANJA = MAX(DATUM_OSIGURANJA) FROM EVP_V_KASKO_ZB;

我的目标是只获得日期值最高的一行(DATUM_OSIGURANJA)。 如何在此语句中添加参数? 参数应为表EVP_V_KASKO_ZB中的OIB。 类似语句+ WHERE OIB =?;因此我可以将其发送给POSTMAN,然后通过参数找到我的值,即OIB。

2 个答案:

答案 0 :(得分:1)

我认为您想通过OIB来限制-因此对于传递的OIB,您希望获得最大DATUM_OSIGURANJA的记录。

尝试使用此:

选择模型,V_GODINA,DATUM_OSIGURANJA 从EVP_V_KASKO_ZB EVP_1 在哪里EVP_1.OIB = <> AND DATUM_OSIGURANJA =(从OVP = EVP_1.OIB的EVP_V_KASKO_ZB中选择MAX(DATUM_OSIGURANJA))

答案 1 :(得分:0)

您非常接近。您需要一个子查询,如:

SELECT MODEL, V_GODINA, DATUM_OSIGURANJA  FROM EVP_V_KASKO_ZB WHERE 
DATUM_OSIGURANJA = (select MAX(DATUM_OSIGURANJA) FROM EVP_V_KASKO_ZB)