NutzCN Logo
问答 一对多映射,获取操作,想通过多的某个字段排序怎么写啊
发布于 3071天前 作者 qq_9ad759a9 2843 次浏览 复制 上一个帖子 下一个帖子
标签: dao

自己写了一个子查询,实现了,sql语句太长,而且没有用到一对多映射,有其他方法实现吗?

5 回复

贴出sql

来自炫酷的 NutzCN

String sqlStr =
"select BasUnit.UnitId,BasUnit.UnitName,BasUnit.AddUserID,BasUnit.AddTime,BasDep.DepName,BasDep.SeqNum,SysUser.LoginName from BasUnit LEFT JOIN SysUser on BasUnit.AddUserID=SysUser.UserID LEFT JOIN BasDep on BasUnit.UnitID=BasDep.UnitID where BasUnit.IsDelete=0 and BasUnit.unitId ="+user.getUnitid()+"ORDER BY BasDep.SeqNum ASC;"

不是很理解,还有个sql语句更长.
学校和校区都是一个实体类,部门一个实体类,要展示学校树结构,按校区及部门顺序,学校里面可能几个校区和部门,校区里面又含部门,这个sql语句含子查询.
String sqlStr = "select s.UnitId,s.UnitName,s.AddUserID,s.AddTime,BasDep.DepName,c.UnitId CampusId,c.UnitName CampusName,c.CampusSeqNum CampusSeqNum,c.DepName CampusDepName,c.DepSeqNum,SysUser.LoginName from BasUnit s LEFT JOIN SysUser on s.AddUserID=SysUser.UserID LEFT JOIN BasDep on s.UnitID=BasDep.UnitID LEFT JOIN (select BasUnit.UnitId,BasUnit.ParentUnitID,BasUnit.UnitName,BasUnit.SeqNum CampusSeqNum,BasDep.DepName,BasDep.SeqNum DepSeqNum from BasUnit LEFT JOIN BasDep on BasUnit.UnitID=BasDep.UnitID) AS c on s.UnitID=c.ParentUnitID where s.IsDelete=0 and s.UnitID="+user.getUnitid()+" ORDER BY BasDep.SeqNum,c.CampusSeqNum,c.DepSeqNum;"

@qq_9ad759a9 其实,没必要用join啦,一个个表查

来自炫酷的 NutzCN

添加回复
请先登陆
回到顶部