有两个表,表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中没有的新增记录
解决方案 »
- dbexpress+mysql这样组合好不好用
- 精通速达、用友商贸通或其它进销存软件的高手请进
- 急求研祥工控机的看门狗程序小例子!
- 新手问题!!!!
- 有没有办法在shape控件上实现,在鼠标移上去时颜色变掉,移开时恢复为原来的颜色。
- BDE是否要在客户端安装?(在线)
- Kingron(单身走我路……) 和 firetoucher(风焱) ( ) 在吗?
- ado连接DB2的问题?请大家帮帮忙!
- DecodeDate把date数据字段分开,反过来的那个函数叫什么名字?
- 有财务凭证输入的控件(象用友、金碟)一样的!,要VCL源码!
- 主窗体调用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