有三张表如下:
表A 表B 表C
月份 产品 数量A 月份 产品 数量B 月份 产品 数量C
1 a 2 1 a 1 1 a 1
1 b 2 1 b 2 3 a 1
1 c 3 1 c 3
2 a 2 2 a 2
2 c 3 2 b 3
3 b 5 2 c 3
3 c 6
现在将其合并为一张表D如下:其中数量D为数量A-数量B-数量C
表D
月份 产品 数量A 数量B 数量C 数量D
1 a 2 1 1 0
1 b 2 2 0
1 c 3 3 0
2 a 2 2 0
2 b 3 -3
2 c 3 3 0
3 a 1 -1
3 b 5 5
3 c 6 6
请问用SQL语句如何来实现?谢谢了!
表A 表B 表C
月份 产品 数量A 月份 产品 数量B 月份 产品 数量C
1 a 2 1 a 1 1 a 1
1 b 2 1 b 2 3 a 1
1 c 3 1 c 3
2 a 2 2 a 2
2 c 3 2 b 3
3 b 5 2 c 3
3 c 6
现在将其合并为一张表D如下:其中数量D为数量A-数量B-数量C
表D
月份 产品 数量A 数量B 数量C 数量D
1 a 2 1 1 0
1 b 2 2 0
1 c 3 3 0
2 a 2 2 0
2 b 3 -3
2 c 3 3 0
3 a 1 -1
3 b 5 5
3 c 6 6
请问用SQL语句如何来实现?谢谢了!
解决方案 »
- 有关变量调用问题
- 使用fastreport问题,我是刚用的,请指教
- 如何设置局域网中其他机器的系统时间
- 各位大侠:如何将多个文件打包成一个文件????
- 我用Delphi做了一个带下载功能的播放器,可是下载功能总有问题 哪位高手能帮忙解决下
- 大家来帮帮忙,问题出在哪儿?错误信息:找不到 MSVCRTD.DLL
- 有没有带密码的字符串压缩组件?
- 我怎样能画一条线段?
- delphi编写控制台程序(用WRITELN()输出),输出结果在仿真DOS窗口中,为何该仿真DOS窗口一闪而过,几乎来不急看清,如何调节时间??
- 我们到底选择什么?
- 关于DBGridEh字体颜色的问题
- 请问如何为dbgrid的单元格赋值呢
left join
( select 月份 产品 数量B from 表B) b
on a.月份=b.月份 and a.产品=b产品
left join
( select 月份 产品 数量C from 表C) c
on a.月份=c.月份 and a.产品=c.产品
且数量D2=数量A-数量B2,又该怎么实现呢?
left join
( select 月份 产品 数量B,数量B2 from 表B) b
on a.月份=b.月份 and a.产品=b产品
left join
( select 月份 产品 数量C from 表C) c
on a.月份=c.月份 and a.产品=c.产品