sql - Oracle 10g:为具有其他值的表插入缺失日期
问题描述
在这个问题中,我能够在
|----------|----------|
| DT | FLAG |
|----------|----------|
| 2015-MAY | E |
| 2015-JUN | H |
| 2015-OCT | E |
| 2016-FEB | E |
|----------|----------|
得到(缺少的月份用 插入FLAG
V
)
|----------|----------|
| DT | FLAG |
|----------|----------|
| 2015-MAY | E |
| 2015-JUN | H |
| 2015-JUL | V |
| 2015-AUG | V |
| 2015-SEP | V |
| 2015-OCT | E |
| 2015-NOV | V |
| 2015-DEC | V |
| 2016-JAN | V |
| 2016-FEB | E |
|----------|----------|
使用以下代码:
CREATE OR REPLACE PROCEDURE FILL_DATE_GAP AS
BEGIN
INSERT INTO DUMMY_DATES
SELECT to_date(add_months(date '2015-01-01', level - 1), 'yyyy-mm-dd') mth,
'V'
FROM DUAL
connect by level <= 14
MINUS
SELECT DT,
FLAG
FROM DUMMY_DATES;
END FILL_DATE_GAP;
我想对下表做同样的事情:
|----------|----------|----------|
| EID | DT | FLAG |
|----------|----------|----------|
| 123 | 2015-MAY | E |
| 123 | 2015-JUN | H |
| 123 | 2015-OCT | E |
| 123 | 2016-FEB | E |
|----------|----------|----------|
要得到:
|----------|----------|----------|
| EID | DT | FLAG |
|----------|----------|----------|
| 123 | 2015-MAY | E |
| 123 | 2015-JUN | H |
| 123 | 2015-JUL | V |
| 123 | 2015-AUG | V |
| 123 | 2015-SEP | V |
| 123 | 2015-OCT | E |
| 123 | 2015-NOV | V |
| 123 | 2015-DEC | V |
| 123 | 2016-JAN | V |
| 123 | 2016-FEB | E |
|----------|----------|----------|
问题 有人可以告诉我该怎么做(复制 EID)吗?
解决方案
如果有人感兴趣,请按以下方式进行操作:
FOR employee_rec IN c_employee
LOOP
INSERT INTO XE_GRID_OUTPUT
SELECT i_employerId,
employee_rec.EMPLOYEEID,
to_date(add_months(date '2014-01-01', level - 1), 'YYYY-MM-DD') mth,
'V'
FROM DUAL
CONNECT BY LEVEL <= 14
MINUS
SELECT EMPLOYERID, EMPLOYEEID, DECLARATIONPERIOD, FLAG
FROM XE_GRID_OUTPUT
WHERE EMPLOYEEID=employee_rec.EMPLOYEEID;
END LOOP;
为给定的employeeId 选择EMPLOYEEID 的光标。
推荐阅读
- powershell - Powershell 行情
- r - 每次尝试使用 R 中的块代码在 Texmaker 中运行我的 Latex 文档时都会出现错误
- javascript - 具有两列的倾斜全宽布局
- wordpress - 如何通过 WordPress 插件 ShortCoder 在不同的网站上提交表单
- spring-boot - 使用 API 网关的微服务认证和授权
- c - “程序收到信号 SIGSEGV,分段错误” 尝试使用递归获取 3 字符组合的所有关键字时
- sql - 如何将此 SAS 代码转换为 SQL Server 代码?
- python - 使用 scrapy 进行新更改后的 Instagram 抓取
- php - 如何将查询 url 参数传递给树枝模板
- javascript - 将表单中的详细信息存储到会话中以进行身份验证