如何将SELECT 语句中的字段值传递到另一个SELECT语句中计算?请高手帮忙!
我在VB.NET下使用OleDb操作access数据库.数据库中有3张表 IN_TABLE,OUT_TABLE,SPEC_TABLE,结构如下
IN_TABLE:
索引 单价 数量 规格
1 10 10 A
2 20 5 B
3 10 5 C
4 5 10 A
5 15 10 B
OUT_TABLE:
索引 数量 规格
1 5 A
2 5 B
3 5 C
SPEC_TABLE:
索引 规格
1 A
2 B
3 C
现在要求输出如下的数据
索引 数量 规格 单价
1 5 A 7.5
2 5 B 16.67
3 5 C 5
上面的输出表其实就是OUT_TABLE表后面加上一列 单价, 单价的数据从 IN_TABLE 表中计算得到,即将相同规格的数量和单价相乘然后相加再除以总数量. (10*10+5*10)/(10+10)=7.5
请问如何使用SQL语句实现啊.
我用下面的SQL无法实现,请高手帮忙修正下
Dim sqlStrDanjia As String = "select SumJinge/SumShuliang from (select SUM(IN_TABLE.单价*IN_TABLE.数量) AS SumJinge, SUM(IN_TABLE.数量) AS SumShuliang from IN_TABLE,OUT_TABLE WHERE IN_TABLE.规格=OUT_TABLE.规格)"
Dim sqlStr As String = "select OUT_TABLE.索引, OUT_TABLE.规格, (" & sqlStrDnajia & ") as 单价 FROM OUT_TABLE ,SPEC_TABLE WHERE OUT_TABLE.规格=SPEC_TABLE.规格 ORDER BY OUT_TABLE.索引 ASC"
DataAdapter.SelectCommand = New OleDbCommand(sqlStr, dbConnection)
我得到的单价是个固定的值,不对应.谢谢