本帖最后由 kwungshome 于 2010-02-22 14:16:51 编辑

解决方案 »

  1.   

    SELECT SUM (CST_MAN) AS CST_MAN,
       SUM(CST_MAKE) AS CST_MAKE
    FROM (
    SELECT MF_BOM_SO.CST_MAN AS CST_MAN ,
       MF_BOM_SO.CST_MAKE AS CST_MAKE ,
    FROM  MF_BOM_SO,TF_BOM_SO 
    WHERE TF_BOM_SO.ID_NO = MF_BOM_SO.BOM_NO
          AND TF_BOM_SO.BOM_NO = 'B1'

    UNION ALL

    SELECT MF_BOM_SO.CST_MAN AS CST_MAN ,
       MF_BOM_SO.CST_MAKE AS CST_MAKE ,
    FROM  MF_BOM_SO
    WHERE MF_BOM_SO.BOM_NO = 'B1'
    )
      

  2.   

    如果说TF_BOM_SO的ID_NO的下层节点还有节点怎么办? 是不是要用connect by...start with
    重点是将有关系的都先抓出来 然后进行统计
      

  3.   

    对 重点是将有关系的都先抓出来 然后进行统计
    按照lz的这个题目中 
    TF_BOM_SO的ID_NO字段对应的是 MF_BOM_SO 表中的BOM_NO字段
    所以不存在你说的那种情况但是你说的那个事情应该是
    TF_BOM_SO 表中的 ID_NO 字段对应 TF_BOM_SO表的BOM_NO字段
    这是表的自连接如果是这样的情况那就需要写存储过程  单个sql语句就不适用了
    在过程里面可以写循环 递归算法实现