SQL写法,Hibernate方法实现也可(一对多关系,双表,高手进进进!)

比如说分类表(cate)和商品表(pt),其中cate表中的id对应pt表中的c_id.如果把cate表中的记录根据pt多到少进行排序。比如:商品A【200件】、商品B【... 比如说分类表(cate)和商品表(pt),其中cate表中的id对应pt表中的c_id.
如果把cate表中的记录根据pt多到少进行排序。比如:
商品A【200件】、商品B【150件】、商品C【99件】..

又比如说部门和员工:
部门A【49人】、部门B【20人】、部门C【10人】..

再比如说客户和订单:
客户A【10份】、客户B【5份】、客户C【1份】

问题就是,怎样能用SQL或者Hibernate中的方法收集出这样的一个集合,再以这样的形式遍历到页面呢。。
急需答案
不显示出后面的数量也可,重要的是从多到少的排列。
表cate字段: id、name
表pt字段:id、name、info、c_id

请给一些具体的代码作为参考,谢谢
展开
 我来答
露卡洛琳
2007-08-30 · 超过25用户采纳过TA的回答
知道答主
回答量:108
采纳率:0%
帮助的人:0
展开全部
首先要搞清楚一点,在Hibernate里面,查询是用HQL语句,不是用SQL语句,你可以将数据全部装入集合中在页面用JSTL(表达试语言)里面的循环和判断来输出,或者使用GOP BY和ORDER BY来筛选你查询的结果集合,HQL不支持你只能用JDBC来连数据库了或者也可以使用hibernate实现,在主表(比如cate表中)建立一个从表的集合(即建立一对多单向关联关系,比如叫pt),比如建立的是HashSet集合,检索的时候先检索到主表的类容(from Cate) 便可以得到一个list集合,然后创建另外一个集合比如ArrayList集合,这个时候遍历list集合,根据list集合,得到每个Cate的pt,判断pt的size(),依照size()的大小放入ArrayList集合,这样得到的ArrayList集合应该就是一个全新有序的Cate集合了.
写得不好,不知道是不是楼主想要的..
xiaoxizhu0808
2007-08-25
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
使用hibernate实现,在主表(比如cate表中)建立一个从表的集合(即建立一对多单向关联关系,比如叫pt),比如建立的是HashSet集合,检索的时候先检索到主表的类容(from Cate) 便可以得到一个list集合,然后创建另外一个集合比如ArrayList集合,这个时候遍历list集合,根据list集合,得到每个Cate的pt,判断pt的size(),依照size()的大小放入ArrayList集合,这样得到的ArrayList集合应该就是一个全新有序的Cate集合了.
写得不好,不知道是不是楼主想要的..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2007-08-25 · TA获得超过816个赞
知道小有建树答主
回答量:816
采纳率:0%
帮助的人:661万
展开全部
先分类汇总,
然后表联合,
再汇总排序

最好给两个实实在在的表来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
茶苦亦觉甜
2007-08-28 · TA获得超过114个赞
知道小有建树答主
回答量:444
采纳率:0%
帮助的人:132万
展开全部
SELECT id,name,(SELECT COUNT(*) FROM pt WHERE pt.c_id=id) AS num FROM cate ORDER BY num DESC

SQL语句可以这样写.....
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cjb1234567
2007-09-07 · TA获得超过286个赞
知道小有建树答主
回答量:428
采纳率:0%
帮助的人:227万
展开全部
回答者:michaelzhouh
说的好啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式