两个表
MF_BOM_SO,TF_BOM_SO表MF_BOM_SO有以下数据
BOM_NO CST_MAN CST_MAKE
B1 20 10
B2 10 5
B3 5 10表TF_BOM_SO有以下数据
BOM_NO PRD_NO ID_NO(下层结点)
B1 P_1 B2
B1 P_2
B1 P_2 B3现在我想查询表MF_BOM_SO字段BOM_NO=B1的数据,并把所有下层结点的CST_MAN,CST_MAKE相加得到以下结果BOM_NO CST_MAN CST_MAKE
B1 35 25
MF_BOM_SO,TF_BOM_SO表MF_BOM_SO有以下数据
BOM_NO CST_MAN CST_MAKE
B1 20 10
B2 10 5
B3 5 10表TF_BOM_SO有以下数据
BOM_NO PRD_NO ID_NO(下层结点)
B1 P_1 B2
B1 P_2
B1 P_2 B3现在我想查询表MF_BOM_SO字段BOM_NO=B1的数据,并把所有下层结点的CST_MAN,CST_MAKE相加得到以下结果BOM_NO CST_MAN CST_MAKE
B1 35 25
from MF_BOM_SO
where BOM_NO in(select ID_NO from TF_BOM_SO where BOM_NO='b1') or BOM_NO ='b1'
create table MF_BOM_SO
(BOM_NO varchar(5),
CST_MAN int,
CST_MAKE int)create table TF_BOM_SO
(BOM_NO varchar(5),
PRD_NO varchar(5),
ID_NO varchar(5))
insert MF_BOM_SO
select 'B1',20,10 union all
select 'B2',10,5 union all
select 'B3',5,10 insert TF_BOM_SO
select 'B1','P_1','B2' union all
select 'B1','P_2','' union all
select 'B1','P_3','B3'
select a.BOM_NO,sum(CST_MAN),sum(CST_MAKE)
from TF_BOM_SO a left join MF_BOM_SO b on (case when a.ID_NO='' then a.BOM_NO else ID_NO end) =b.BOM_NO
where a.BOM_NO='B1'
group by a.BOM_NO
你的问题和TF_BOM_SO有啥关系啊
还有你说的下层是啥意思啊?