【发布时间】:2018-01-22 19:04:37
【问题描述】:
我有一个运行良好的 SQL 查询。我正在使用 Oracle 11g。当前的 SQL 查询列出未来 6 个月的即将到来的航班,然后列出所有过去的航班。所以我的查询首先列出了 2018 年的所有航班,然后列出了早在 1998 年之后的所有旧航班。我需要在这个查询中添加两个静态值。我要添加的两个静态值是“UPCOMING FLIGHTS”和“PAST FLIGHTS”,以区分哪些航班是新的和旧的。我怎样才能做到这一点?我需要将此添加的代码与下面的当前 SQL 查询合并。我无法做到这一点。
当前 SQL 查询:
SELECT FLIGHT_NMBR, SCHEDULED_LAUNCH_DATE
FROM FLIGHTS
WHERE DATA_VERSION_NAME = 'WORKING'
AND sequence_nmbr >= 0
ORDER BY (CASE WHEN to_date(scheduled_launch_date, 'DD-MON-YY')
BETWEEN add_months(trunc(sysdate, 'MON'), 0)
AND add_months(trunc(sysdate, 'MON'), 6) THEN 1 ELSE 2 END),
(CASE WHEN to_date(scheduled_launch_date, 'DD-MON-YY')
BETWEEN add_months(trunc(sysdate, 'MON'), 0)
AND add_months(trunc(sysdate, 'MON'), 6) THEN SCHEDULED_LAUNCH_DATE END),
sequence_nmbr;
上面当前SQL查询的结果:
FLIGHT_NMBR SCHEDULED
------------ ---------
SpX-14 26-JAN-18
69P 09-FEB-18
SpX-DM1 09-MAR-18
54S 13-MAR-18
OA-9 14-MAR-18
55S 29-APR-18
SpX-15 06-JUN-18
SpX-DM2 22-JUN-18
70P 27-JUN-18
1A/R 20-NOV-98
2A 04-DEC-98
我怎样才能达到下面的预期结果:
FLIGHT_NMBR SCHEDULED
------------ ---------
UPCOMING FLIHGTS-------------------------------STATIC VALUE I WANT TO ADD
SpX-14 26-JAN-18
69P 09-FEB-18
SpX-DM1 09-MAR-18
54S 13-MAR-18
OA-9 14-MAR-18
55S 29-APR-18
SpX-15 06-JUN-18
SpX-DM2 22-JUN-18
70P 27-JUN-18
PAST FLIGHTS-----------------------------------STATIC VALUE I WANT TO ADD
1A/R 20-NOV-98
2A 04-DEC-98
希望我的下拉菜单如下所示:
【问题讨论】:
-
如果
scheduled_launch_date是DATE列,那么to_date(scheduled_launch_date, 'DD-MON-YY')的作用是什么? -
我已经告诉过你here,Select2 插件正是你在最后 2 或 3 个问题中提出的问题。
-
我们在这里讨论过:stackoverflow.com/questions/48233239/…,不是吗?
标签: sql oracle plsql oracle11g