小弟刚学HQL,在练习一个查询时用SQL是完成了。可是不知道这样的话如何写HQL。select s.stockName,sp.nominal from stock s
inner join stockPrice sp on s.id=sp.stock_id
inner join (select sp.stock_id, max(sp.stockPriceUpdateTime) maxtime from stockPrice sp group by sp.stock_id) sptemp
on sp.stockPriceUpdateTime = sptemp.maxtime and sptemp.stock_id = sp.stock_idstock和stockprice两张表是一对多关系。
stock里面一个股票相对一个记录,stockprice记录价格信息。
为了要查询每个股票的最新价格,我写了个子查询关联返回同样外键的记录的最大时间和外键id。最后在stockPrice里用子查询出来的时间和外键ID来唯一确定最新记录。
可是这里我不知道大子查询里面,SQL是返回外键HQL里针对这个外键就是一个对象了。
而且我不知道HQL里面内联能写on吗?
麻烦帮我转换成HQL,学习一下。
inner join stockPrice sp on s.id=sp.stock_id
inner join (select sp.stock_id, max(sp.stockPriceUpdateTime) maxtime from stockPrice sp group by sp.stock_id) sptemp
on sp.stockPriceUpdateTime = sptemp.maxtime and sptemp.stock_id = sp.stock_idstock和stockprice两张表是一对多关系。
stock里面一个股票相对一个记录,stockprice记录价格信息。
为了要查询每个股票的最新价格,我写了个子查询关联返回同样外键的记录的最大时间和外键id。最后在stockPrice里用子查询出来的时间和外键ID来唯一确定最新记录。
可是这里我不知道大子查询里面,SQL是返回外键HQL里针对这个外键就是一个对象了。
而且我不知道HQL里面内联能写on吗?
麻烦帮我转换成HQL,学习一下。
create table dontest(
id integer,
size integer,
outKey integer
);
insert dontest (id,size, outKey) values(ua3a981, 10, 100);
insert dontest (id,size, outKey) values(860a87d, 20, 100);
这样的一个表,我想找到outKey是100,然后size最大的那个id值。
select id,size from dontest group by outKey;
我这样写,可id却一直是能找到的第一句。
请问一下如何取到?
...inner join需要映射里面的配置的。但是子查询肯定没有这个关系的。所以老实用where a=b吧
create table dontest(
id integer,
size integer,
outKey integer
);
insert dontest (id,size, outKey) values(ua3a981, 10, 100);
insert dontest (id,size, outKey) values(860a87d, 20, 100);
这样的一个表,我想找到outKey是100,然后size最大的那个id值。
select id,size from dontest group by outKey;
我这样写,可id却一直是能找到的第一句。
请问一下如何取到?
select max(size) from dontest where outKey=100 ;