数据表1(基础数据):
项目1 日期 金额
A 3月31日 1000元
B 3月31日 2300元
C 3月31日 1200元
A 6月30日 3000元
B 6月30日 2000元
C 6月30日 3200元
数据表2(拆分比例)
项目 部门 比例
A aaa 0.5
A bbb 0.5
B aaa 1
C aaa 0.3
C bbb 0.2
C ccc 0.5
希望得到的查询最终结果是
项目1 部门 日期 金额
A aaa 3月31日 500元
A bbb 3月31日 500元
B aaa 3月31日 2300元
C aaa 3月31日 360元
C bbb 3月31日 240元
C ccc 3月31日 600元
A aaa 6月30日 1500元
A bbb 6月30日 1500元
B aaa 6月30日 2000元
C aaa 6月30日 960元
C bbb 6月30日 640元
C ccc 6月30日 1600元
请问这段SQL语言该怎么写,或者是如果不能写有何其他方式达到这个目的。
这个使用 cross join 返回迪卡乘积的数据,可以加条件过滤数据。望采纳,急用分
试一下这个:
select a.项目1, b.部门, a.日期, a.金额*b.比例
from 数据表1 a
join 数据表2 b on b.项目=a.项目1
感谢回复。。。刚刚没有注意到。。
查询语句的不同,搜索的内容不同相当拆分
select a.项目1,b.部门,a.日期,(a.金额 * b.比例,2) as 金额 from 数据表1 as a
left join 数据表2 as b no a.项目1 = b.项目1