実現したいこと
以下の様なテーブルがあったとき、
employee_no | start_date | end_date |
---|---|---|
11111 | 2023/1/3 | 2023/1/3 |
22222 | 2023/1/3 | 2023/1/3 |
33333 | 2023/1/3 | 2023/1/5 |
以下のように並べかえをしたい
effective_date | employee_no |
---|---|
2023/1/3 | 11111 |
2023/1/3 | 22222 |
2023/1/3 | 33333 |
2023/1/4 | 33333 |
2023/1/5 | 33333 |
該当のソースコード
SQL(oracle)
1SELECT TO_DATE(start_date,'YYYY/MM/DD' HH24:MI:SS')+LEVEL -1 AS effective_date,employee_no FROM EMPLOYEE CONNECT BY TO_DATE(start_date,'YYYY/MM/DD' HH24:MI:SS')+LEVEL -1 <=TO_DATE(end_date,'YYYY/MM/DD' HH24:MI:SS');
試したこと
上記結果は、以下のようになり、想定どおりになりません。
11111,1/3
22222,1/3
33333,1/3
33333,1/4
33333,1/4
33333,1/4
33333,1/5
33333,1/5
33333,1/5
ちなみに、以下レコードのみであれば、
employee_no | start_date | end_date |
---|---|---|
33333 | 2023/1/3 | 2023/1/5 |
出力結果は上手く出力されます。
1/3,33333
1/4,33333
1/5,33333

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。