求一SQL - MS-SQL Server / 基础类
表A
ID 分配编号 分配数 实际编号 实际数
1 A01 20 NULL NULL
2 A01 30 NULL NULL
表 B
ID 分配编号 实际编号 实际数
1 A01 A01 30
2 A01 B01 10
3 A01 B02 5
4 A01 B03 5
实现表A为:
ID 分配编号 分配数 实际编号 实际数
1 A01 20 A01 20
2 A01 30 A01 10
3 A01 0 B01 10
4 A01 0 B02 10
5 A01 0 B03 5
........
一个UPDATE+一个INSERT
。。
1楼2楼 感谢你俩帮顶
规则看例子能看明白吧。。
语言怎么形容呢???
总共分配给A01 50
实际上A01 只拿到30
其他20都是从别的位置(B01,b02,b03)上拿的
怎么说呢 。。
表A有两条数据 在A01上分别分配了20和30 总共50
实际上我在具体操作时 看表B 在分配的A01上取了30 不够50
于是我在别的地方(B01,B02,B03)拿了剩余20
需要大家帮忙的就是 根据表B的数据反写表A的数据
A01第一条需要20 ,我们取了30,所以就给第一条更新为20
A01第二条需要30 ,但是只剩下10,所以就更新为10
剩余的从B01 B02 B03上拿的数据 插入到A表中
相关问答:
现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......
需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......
我觉得mysql和sqlserver有共同的地方:
有个问题是关于表的锁问题:
进程A 进程B
select * from user where id in lock share mode(共享锁)
&nb ......
原SQL语句SQL code:
SELECT t6.FName '操作工',t1.FDate '日期',t5.FName '制单人',t3.FName '设备',t4.FName '班制',
t7.FBillNo '工艺指令单号',t8.FName '岗位',t2. ......