有两个表
表A
num num2 num3
1 A B
5 C D
12 E F
15 G H
......
表a的num列不是递增的中间间隔也不定 表b的num列是递增的,现在要求表b的num2列和num3列 通过表a的num2和num3列来填值 通过 num来填
表A num列 会不定期增加,而且增加的幅度也不固定,目前最大的是15 下一个可能是 18 也可能 是 20
如果表A的 num 列 下一个增加的值为 17
而表B的num 列 已经填充到 20 则表B的 num 列大于等于17的 num2 num3的 值 更新为 表A num为17的 num2 num3的值
表B如下
num num2 num3
1 A B
2 A B
3 A B
4 A B
5 C D
6 C D
7 C D
8 C D
9 C D
10 C D
11 C D
12 E F
13 E F
14 E F
15 G H
16 G H
17 G H
18 G H
19 G H
20 G H
表A
num num2 num3
1 A B
5 C D
12 E F
15 G H
......
表a的num列不是递增的中间间隔也不定 表b的num列是递增的,现在要求表b的num2列和num3列 通过表a的num2和num3列来填值 通过 num来填
表A num列 会不定期增加,而且增加的幅度也不固定,目前最大的是15 下一个可能是 18 也可能 是 20
如果表A的 num 列 下一个增加的值为 17
而表B的num 列 已经填充到 20 则表B的 num 列大于等于17的 num2 num3的 值 更新为 表A num为17的 num2 num3的值
表B如下
num num2 num3
1 A B
2 A B
3 A B
4 A B
5 C D
6 C D
7 C D
8 C D
9 C D
10 C D
11 C D
12 E F
13 E F
14 E F
15 G H
16 G H
17 G H
18 G H
19 G H
20 G H
解决方案 »
- 求SQL语句.......................................................(标题要长)
- 关于释放表空间的疑问(alter table tabname deallocate unused),内有详细的分析,请各位大虾给点意见
- 一台机子两个实例问题,另外一个实例启动不了报ORA-12505错误--急!
- 有谁知道oracle的主键信息存在哪个表里了?急!!!!!!!!!!
- 关于使用WRAP加密的问题
- 查找两个字段不相同的行
- pl/sql 求助!!语句优化
- imp导入触发器问题!
- Restrict 启动数据库问题!
- 关于oracle的安装、服务以及卸载
- 请教各位一个排序的问题
- oracle 中多语言问题
( NUM INTEGER,
NUM2 CHAR(1),
NUM3 CHAR(2)
);
CREATE TABLE TBL_B
( NUM INTEGER,
NUM2 CHAR(1),
NUM3 CHAR(2)
);
INSERT INTO TBL_A VALUES (1,'A','B');
INSERT INTO TBL_A VALUES (5,'C','D');
INSERT INTO TBL_A VALUES (12,'E','F');
INSERT INTO TBL_A VALUES (15,'G','H');
COMMIT;INSERT INTO TBL_B VALUES (1,'A','B');
INSERT INTO TBL_B VALUES (2,'A','B');
INSERT INTO TBL_B VALUES (3,'A','B');
INSERT INTO TBL_B VALUES (4,'A','B');
INSERT INTO TBL_B VALUES (5,'C','D');
INSERT INTO TBL_B VALUES (6,'C','D');
INSERT INTO TBL_B VALUES (7,'C','D');
INSERT INTO TBL_B VALUES (8,'C','D');
INSERT INTO TBL_B VALUES (9,'C','D');
INSERT INTO TBL_B VALUES (10,'C','D');
INSERT INTO TBL_B VALUES (11,'C','D');
INSERT INTO TBL_B VALUES (12,'E','F');
INSERT INTO TBL_B VALUES (13,'E','F');
INSERT INTO TBL_B VALUES (14,'E','F');
INSERT INTO TBL_B VALUES (15,'C','A');
INSERT INTO TBL_B VALUES (16,'C','A');
INSERT INTO TBL_B VALUES (17,'C','B');
INSERT INTO TBL_B VALUES (18,'G','D');
INSERT INTO TBL_B VALUES (19,'C','E');
INSERT INTO TBL_B VALUES (20,'C','F');
COMMIT;
SET (T.NUM2, T.NUM3) = (SELECT T.NUM2,
T.NUM3
FROM TBL_A T
WHERE T.NUM = (SELECT MAX(T.NUM)
FROM TBL_A T))
WHERE T.NUM >= (SELECT MAX(T.NUM)
FROM TBL_A T);
COMMIT;