有下面三个表,每个表的第一项是主键。用料用途项目表(project):
项目编号(xmbhid)、项目名称(xmmc)出库表(outbill):    (特例:当出库单是退料单的时候,领用项目这列就是退料单所对应的领料单号)
出库单号(outbhid)、领用项目(xmbhid)、出库单类别(Type:0代表领料、1代表退料、9代表作废的单)出库明细表(outdetail):
出库单号(outbhid)、材料编号(clbhid)、出库数量(outnumber:正数代表领料、负数代表退料)-----------------------------------------------
我知道outbill表有点冗余,但为了表尽可能少,没办法,何况数据量不是很大。一个项目可以有多个领料或者退料单,但一个出库单只能对应一个项目。一个领料单可以有多个退料单,但一个退料单只能对应一个领料单。问题提出:
   我想做某个项目总用料统计报表:
  select clbhid,sum(outnumber) from outdetail left join outbill on outbill.outbhid=outdetail.outbhid where outbill.type<>'9' and outbill.xmbhid=:某项目编号(参数)   但这样不行,因为出库退料单的xmbhid对应的是某领料单号(outbhid,type=0)。如果没有这样对应的话上面这个查询是可行的。请问这个问题能用一个sql语句搞定吗?