我有一张费用表(包括公司名companyname,父部门名fatherdepart,子部门名departmentname,费用cost),现要求如下名称 费用
公司名 50
父部门名 30
父部门名 20另一个公司名 70
父部门名 10
父部门名 20
.
.
.
这在一个select 语句能完成吗

解决方案 »

  1.   

    对,费用相加,按照公司费用相加,列出每个公司同时,把公司中对应的部门费用和一一罗列
    比如
    名称 费用
    公司1 50
    接下来罗列出它的
    部门 30
    部门 20
    再来就是
    公司2 60
    继续就是
    部门
    ...
    要求用mysql
      

  2.   

    先说下,你的库设计的不是非常好,一个公司,应该有上线,这个上限可能是一个,也可能是多个。这个怎么弄?要列出来哪个合适??select 部门 from 表 group by 部门 oeder by id desc  当然,order by 后面的东西,可以是其他的字段然后把这个查询进行下变换使用递归的方法,就可以全部度取出来了
      

  3.   

    回复: 1.我这个是费用表,至于公司和部门表在另外一张表中,
    2.什么是'下变换使用递归'
    3.我希望一句sql搞定(可以是嵌套),
      

  4.   

    左连接,右连接,具体参考http://community.csdn.net/Expert/topic/5281/5281097.xml?temp=.2404291