关于MERGE 的用法
来源:互联网 发布:劳德诺 知乎 编辑:程序博客网 时间:2024/05/16 03:42
题目:
一个月统计一次每个雇员去了哪些国家
user_name region
tom india
jerry usa
mike england
marry holland
但是有一张汇总表
user_name least_region arrived_region_count
雇员名 最新去的国家 已经到过多少个国家
tom india 4
jerry usa 6
mike england 10
marry holland 11
已经到过多少个国家
的计算规则是 如果上个月 这个表的数据还是
user_name least_region arrived_region_count
雇员名 最新去的国家 已经到过多少个国家
tom greece 3
jerry sweden 4
mike switchland 9
marry germany 10
例如tom上个月还只到了3个国家,那么这个月需要就是 3+1,因为tom这个月又去了一个新的国家,印度。
解答:
/*
用user_name字段将a和b表关联,
若可关联到则将b表中的记录更新到a,
若没有关联到,则将b中“多出”的记录插入a表
*/
MERGE agg_table a
USING month_table m
ON (a.user_name = m.user_name) --用user_name字段将a和b表关联,
WHEN MATCHED THEN --若可关联到则将b表中的记录更新到a
UPDATE
SET last_region = m.region,
arrived_region_count = arrived_region_count + 1
WHEN NOT MATCHED THEN --若没有关联到,则将b中“多出”的记录插入a表
INSERT
(user_name, least_region, arrived_region_count)
VALUES
(m.user_name, m.region, 1);
- 关于MERGE 的用法
- 关于merge与IdTransferringMergeEventListener的用法
- 关于oracle中merge into的用法
- 关于Oracle中merge的用法
- 关于R语言中的merge和cbind功能的用法
- Oracle的MERGE用法
- merge into的用法
- Oracle 的 MERGE用法
- Android的merge用法
- MERGE 的用法
- merge into 的用法
- merge into的用法
- Merge的用法
- MSSQL Merge的用法
- MERGE的用法
- merge into的用法
- Oracle的merge用法
- $.merge的用法
- "世界最好工作"候选人公布 3名中国人入选前50
- 两个表的关联
- coreldraw使用(3)
- 一段痛苦的记录
- 类继承中构造函数和析构函数的调用
- 关于MERGE 的用法
- 常量指针 和 指针常量
- JS 对象编程 程序集
- 嵌入式Linux系统中的快速启动技术研究
- 关于公司要不要设立测试的讨论
- 教你如何收拾发短信的骗子们
- Proteus原理图元器件库详细说明
- CString 与 其他类型的转换收藏
- windows下ubuntu 8.10 alternate版本安装 (膜拜星星)