将SQL语句转换为JPQL语句

问题描述 投票:0回答:3

我想知道如何将这个 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

sql jpa jpql
3个回答
4
投票

ON
(JPA 2.0)中没有
JPQL
,但您可以进行隐式联接并使用 WHERE 子句:

假设实体

Passage
属性
StationID
与实体
id
的属性
Station
是同一类型的对象。

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

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


3
投票

问题已解决:

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

0
投票

使用chatgpt的帮助设法转换你的,抱歉有点懒。我认为生产力才是关键,而不是转换大量的 sql 语句。

https://chat.openai.com/

© www.soinside.com 2019 - 2024. All rights reserved.