需求:
后台查询出两张表的数据,按分页显示。每页显示10,20等
问题:两张表的结构不同,但其中有些字段名和类型相同。大致上,表A的字段是包含表B字段,而后台想要的显示结果是基本以B表的字段为准。
bug产生原由:
代码上:
model.addAttribute("page", xx.findPage(xxx));
model.addAttribute("page1", xxxx.findPage(xxxx));
页面上:[#list page.content as item][/#list][#list page1.content as item][/#list]如果我想每页显示10条数据,则会从page获取10条数据,再从page1获取10条数据(假设page,page1中的数据足够多),也就是最后每次显示了20条。。。解决的方式:(UNION ALL)UNION ALL 解析(引用)而我所需要的是取表里相同的(或者说是相同类型)的字段。实际项目中,使用JPA里通过以下SQL语句进行查询,本地测试可用。若有不当,请指正。SELECT SUM(c.amount) AS amount,m.id AS memberId, m.userName AS userName, m.name AS NAME,c.paidDate ,CASE WHEN c.status = 1 THEN NULL END statusFROM C c,Member m WHERE c.member_id = m.id AND c.type = 0 AND c.status = 1 GROUP BY c.member_id UNION ALL ( SELECT cp.paidAmount AS amount, cp.member_id AS memberId,m.userName,m.name AS NAME,cp.paidDate, cp.statusFROM Cp cp ,Member m WHERE cp.member_id = m.id )补充:CASE 语法:CASE WHEN c.status = 1 THEN NULL END 字段名
之后model.addAttribute("page", xx.findPage(xxx)); (findPage()的返回类型,我设置为Page<Object>)
[#list page.content as item]${item.amount}[/#list]
5万+

被折叠的 条评论
为什么被折叠?



