有两个表,表A字段为:ID,单价,数量,表B字段也是:ID,单价,数量。
求:把表A的内容添加到表B,如果表B中没有相同的id,则新增记录,如果表B中有相同的ID,则只把表B的数量相加。
这个语句得怎么写?写成存储过程也可以例:表A ID 单价 数量 表B ID 单价 数量
123 15 3 123 15 1
456 3 5求:表B更新后怎么生成如下内容
ID 单价 数量
123 15 4 // 表B中有的则数量相加
456 3 5 //表B中没有的新增记录
求:把表A的内容添加到表B,如果表B中没有相同的id,则新增记录,如果表B中有相同的ID,则只把表B的数量相加。
这个语句得怎么写?写成存储过程也可以例:表A ID 单价 数量 表B ID 单价 数量
123 15 3 123 15 1
456 3 5求:表B更新后怎么生成如下内容
ID 单价 数量
123 15 4 // 表B中有的则数量相加
456 3 5 //表B中没有的新增记录
解决方案 »
- loginprompt问题
- 不知道这个mm对我是不是有意思?
- 多个EDIT都换成DBEDIT?
- 高分求解!编程实现IE中用户名密码的输入问题。
- 谁教我用delphi7自带的InstallShield进行打包,在线等
- 有没有列出dll里面的过程和函数的软件
- 请问谁有virtualtreeview 中文使用说明
- 我的project菜单下没有resources 为什么 你们都有吗
- 怎么在程序里面让机器喇叭发声?(65分送上)
- 给我这个后来者说说 DELPHI 怎么能够快速入门??
- 主窗体调用dll窗体,dll窗体上button的CM_MOUSEENTER,CM_MOUSELEAVE消息收不到,怎么回事?
- 如何使MDI子窗口中的弹出的窗口也变成MDI子窗口
select B.ID ,B.单价, b.数量+A.数量 as 数量 from 表B B inner join 表A A ON B.ID =A.ID union all
select ID ,单价, 数量 from 表B where id not in (select id from 表a)
select ID ,单价, 数量 from 表B where id not in (select id from 表a)
declare @表A table (id varchar(10),单价 varchar(10), 数量 int)
insert into @表A select '123','15',3
insert into @表A select '456','15',3declare @表b table (id varchar(10),单价 varchar(10), 数量 int)
insert into @表b select '123','15',3
select a.id,a.单价,
Case when isnull(a.数量+b.数量,'')='' then
a.数量
else a.数量+b.数量 end as数量
from @表A a left join @表b B ON A.id=b.id