2013-05-15 117 views
0

我不知道我怎么转换这个SQL语句JPQL:转换SQL语句JPQL语句

SELECT sum(price) AS Income, count(*) AS Passages, Station.Name 
FROM Passage 
INNER JOIN station ON passage.stationId = station.id 
GROUP BY Station.Name 

母舰一样是这样的:

SELECT sum(price) AS Income, count(p) AS Passages, s.Name FROM Passage p 
INNER JOIN station s  
ON p.stationId = s.id GROUP BY s.Name 

+0

太懒了,现在要检查它的所有内容,但是在JPA中你首先处理对象,而不是用它们的ID。所以,'ON p.station = s ...' – SJuan76

回答

1

问题解决了:

SELECT count(p), sum(p.price), s 
FROM Passage p 
INNER JOIN p.station s 
GROUP BY s.name; 
2

有一个在JPQL(JPA 2.0)没有ON,但你可以做一个隐含的加入并使用WHERE子句:

假设实体Passage的atriburo StationID是与实体Station的属性id相同类型的对象。

SELECT SUM(s.price) Income, COUNT(p) Passages, s.Name 
FROM Passage p, Station s 
WHERE p.stationId = s.id 
GROUP BY s.Name 

建议如果问题可以添加实体站通道并给出正确的答案。