我想用 3 個表的關系撰寫一個復雜的 hql 查詢。有必要選擇選定的列,以便它們按 ID 定位
@Query("SELECT p.regId, p.method, p.tax, p.fee, p.netAmount, r.countSec, p.status "
"FROM P p INNER JOIN R r INNER JOIN D d on p.regId = r.id AND p.regId = d.id")
List<P> findAllByRegId(String regId);
我的編譯器無法執行請求,我不明白問題是什么!請幫忙
org.postgresql.util.PSQLException: ERROR: syntax error at or near "join"
uj5u.com熱心網友回復:
多個連接的格式是
SELECT columns ...
FROM table1 AS t1
INNER JOIN
table2 AS t2
ON t1.id = t2.id
INNER JOIN
table3 AS t3
ON t3.id = t1.id
uj5u.com熱心網友回復:
你的加入是完全錯誤的。您必須ON在第一個內部連接中添加關鍵字并映射主鍵和外鍵。
這是你的加入,這是錯誤的
SELECT columns FROM A a
INNER JOIN B b
INNER JOIN C c ON a.ColName = b.ColName AND a.ColName = c.ColName
這是多重連接的正確語法
SELECT columns FROM A a
INNER JOIN B b ON a.ColName = b.ColName
INNER JOIN C c ON a.ColName = c.ColName
下面是修改后的查詢
@Query("SELECT p.regId, p.method, p.tax, p.fee, p.netAmount, r.countSec, p.status "
"FROM P p INNER JOIN R r ON p.regId = r.id INNER JOIN D d ON p.regId = d.id")
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/505384.html
