环境:
    1.类别1(500) 类别2(80000)  类别3(4631).
    2.类别是一个表。category,发布的供求是一个表trade,现在获取类别的时候要把该类别所包含的供求数目拿出来,就象
      1那样显示。
    3.这种效果很多见。我想看看大家有没有高效点的办法来解决。或者说高性能的数据库构架关系。
谢谢大家。。

解决方案 »

  1.   

    在trade实体类中定义category属性。获取类别时通过category实体类获取总数
    可使用LINQ。
    也可直接使用sql查询总数
      

  2.   

    sql查询无非是通过 类别字段来group by 分组,把每组的数据 count出来
    再把两个字段拼成一个
    就可以得到 类别一(500) 类别二(8000)了。。
      

  3.   

    恩。。方法多。
    当绑定的时候
    <td><%# Eval("name") %>(<%# getCount(Eval("name")) %>)</td>
    getCount是获取数目的方法。这个可以写出来。就想问下有没有更好一点的方法?
    谢谢。。
      

  4.   

    直接用sql语句
    selct categoryid,count(*) from trade group by categoryid
      

  5.   

    select c.name ,(select count(1) from trade where cid = c.cid) as tradecount
    from category as c
    where c.cid = @pid
    这样也可以吗?
      

  6.   

    谢谢。ycagri跟我说得基本一致吧。
    这种方法比较好吗?
      

  7.   

    还有一种情况没说,每一个cid都有可能有孩子的。如果要把他孩子所包含的数目也加上来。这种设计合理吗?