本帖最后由 realcjames 于 2023-1-20 19:27 编辑
三张表,项目表project,项目工时表projectTime,项目报销表projectPayment;
后两张表通过projectId与项目表关联。
需求是:联表查询出项目的总计工时和总计报销。
但是我写sql,比如
[SQL] 纯文本查看 复制代码 select sum(t.time), t.projectId from project p left join projectTime t group by p.projectId
在left这里就报错了
如果不用join,比如
[SQL] 纯文本查看 复制代码 select sum(t.time), t.projectId from project p, projectTime t where p.projectId = t.projectId group by p.projectId
倒是不会报错,也能查出来,但如果projectTime表里没有对应的工时数据,就查不出结果,因为似乎做不到像join那样的功能?
所以,我想请教下,我的这个需求怎么解决:
1. 是我join的写法不对?
2. 还是JPQL不支持join?
3. 或是我的第二种写法,可以做到类似join的功能,即使工时表中没数据,也能以项目表为准,查出所有项目?
4. 或者有没有其他的方法?
感谢!
|