两张表A和B,各有一个字段,更新时间A.MODIFIED_TM和B.MODIFIED_TM,A表为主表,更新时间不为空,但是B表更新时间可能为空,现在要取A、B两表时间最新的那个,B.MODIFIED
来源:互联网 发布:软件实施投标文件 编辑:程序博客网 时间:2024/03/29 15:40
两张表A和B,各有一个字段,更新时间A.MODIFIED_TM和B.MODIFIED_TM,A表为主表,更新时间不为空,但是B表更新时间可能为空,现在要取A、B两表时间最新的那个,B.MODIFIED_TM若为空就取A.MODIFIED_TM,例如:
表A
ID MODIFIED_TM
1 2013/3/10 18:07:12
2 2013/4/10 18:07:12
3 2013/5/10 18:07:12
表B
ID MODIFIED_TM
1 2014/3/11 18:07:12
null null
3 null
结果
1 2014/3/11 18:07:12
2 2013/4/10 18:07:12
3 2013/5/10 18:07:12
左连接
方式一:
SELECT A.ID AS ID,
DECODE(B.MODIFIED_TM,
NULL,
A.MODIFIED_TM,
GREATEST(A.MODIFIED_TM, B.MODIFIED_TM)) AS MODIFIED_TM
FROM A
LEFT JOIN B
ON A.ID = B.ID;
方式二:
SELECT A.ID AS ID,
CASE
WHEN B.MODIFIED_TM IS NOT NULL THEN
GREATEST(A.MODIFIED_TM, B.MODIFIED_TM)
ELSE
A.MODIFIED_TM
END AS MODIFIED_TM
FROM A
LEFT JOIN B
ON A.ID = B.ID;
方式三:
SELECT A.ID,
GREATEST(NVL(B.MODIFIED_TM, DATE '1900-01-01'),
NVL(A.MODIFIED_TM, DATE '1900-01-01'))
FROM A, B
WHERE A.ID = B.ID(+)
ORDER BY A.ID;
- 两张表A和B,各有一个字段,更新时间A.MODIFIED_TM和B.MODIFIED_TM,A表为主表,更新时间不为空,但是B表更新时间可能为空,现在要取A、B两表时间最新的那个,B.MODIFIED
- A表字段更新为B表的字段值
- 从B表里取字段,更新A表的值
- 在A、B两表之间有一个字段可以关联,现在我想用一条UPDATE语句更新A表中的某字段
- 更新两张表中A表A字段与B表A字段相同,把B表B字段更新到A表A字段
- 更新A表中的字段来自B表中的字段
- oracle从a表更新b表
- 数据库 根据A表 更新B表
- 根据B表数据更新A表
- Mysql A表 数据更新 B表
- 表A更新到表B
- (源码)关于A->B*->D的时间序列频繁模式挖掘的思考 1.26更新
- 用表B的数据来更新表A的数据
- a+b和a-b
- a+b和a-b
- A、B两表,找出ID字段中,存在A表,但是不存在B表的数据
- SQL中如何把A表的字段数据更新到B表的字段
- 【入门】人见人爱A+B:时间相加
- iOS控件使用之UIActivityIndicatorView
- 二叉搜索树(c实现)
- UVa 1590 - IP Networks
- 动态链接库(DLL)
- Linux基础正则表达式grep
- 两张表A和B,各有一个字段,更新时间A.MODIFIED_TM和B.MODIFIED_TM,A表为主表,更新时间不为空,但是B表更新时间可能为空,现在要取A、B两表时间最新的那个,B.MODIFIED
- JVM调优的"标准参数"的各种陷阱
- VC办法
- 1023. Have Fun with Numbers (20)
- 自动寻径
- live555分析之基础知识-BT1120协议
- vc6.0 中getline需要按两次回车的解决方法
- 如何正确配置Nginx+PHP
- 互联网协议入门(二)