其实是一个二叉数 1下面有两个子2,3 ,2下面有两个子4,5
我想查出1的两个子中最小的cunliang,2的为400,3的是100,所以是100,然后2的shuliang-100,3的shuliang也减去100 2下面有两个子4,5,找出4和5中最小的cunliang=300, 然后4的cunliang-300 5 的cunliang-300
不知道我说明白了吗
我想查出1的两个子中最小的cunliang,2的为400,3的是100,所以是100,然后2的shuliang-100,3的shuliang也减去100 2下面有两个子4,5,找出4和5中最小的cunliang=300, 然后4的cunliang-300 5 的cunliang-300
不知道我说明白了吗
解决方案 »
- 求一SQL语句,谢谢.
- 求一个关于存储过程的思路?
- 请教一个问题,谢谢帮助
- aspnet_Membership_CreateUser 为什么活动事务不为0的时候不开始事务
- jsp更新sqlserver2000时出错java.sql.datatruncation:data truncation
- 上那里找C语言函数的库名?
- 请问如何在delphi中动态创建mssql server数据表
- SQL CHAR类型的问题。
- 管家婆服装。NETII连接问题
- 消息 7399,级别 16,状态 1,第 1 行 OLE DB 提供程序 'Microsoft.ACE.OLEDB.12.0' 报错。提供程序已用尽内存。
- 求CSDN大师 查询语句查不出数据,谢谢
- MSSQL2005,如果使用SNAPSHOT_READ_COMMITTED会不会导致Transactional Replication失败?
UPDATE LI SET CUNLIANG = CUNLIANG - LB.CUNLIANG
FROM LI,
(
SELECT PARENT,MIN(CUNLIANG) AS CUNLIANG
FROM
(
SELECT COUNT(1) AS RMARK,PARENT
FROM LI
GROUP BY PARENT
HAVING(COUNT(1) > 2)) LO
GROUP BY PARENT) LB WHERE LI.PARENT = LB.PARENT
再假定你只需要选择兄弟(同父)个数大于2的行,其余行忽略;select ID,Parent,CunLiang-A.CunLiang
from T join
(
select Parent,min(CunLiang)
from T
group by Parent
having count(*)>1
) A
on T.Parent=A.Parent
set CunLiang = CunLiang-A.CunLiang
from T join
(
select Parent,min(CunLiang) as CunLiang
from T
group by Parent
having count(*)>2
) A
on T.Parent=A.Parent
set CunLiang = CunLiang-A.CunLiang
from T join
(
select Parent,min(CunLiang) as CunLiang
from T
group by Parent
having count(*)=2
) A
on T.Parent=A.Parent 答案了