您好我有一个选择查询,我从表中选择 2 个不同的日期列,我需要将它们合并到结果中的一列中,并按日期的降序排列。查询如下所示:
select work_order_no,install_remove_type,removed_item_id,installed_item_id,
removed_performed_on as irdate,
installed_performed_on as irdate
from install_remove_items
where work_order_no is not null
and (installed_item_id = 'IID000174096' or removed_item_id= 'IID000174096')
上述查询的结果是创建了 2 列
irdate - 对于 removed_performed_on
和
irdate_1 - 用于 installed_performed_on
这不是我想要的方式。我如何在“irdate”列中获得与日期相关的数据并按 desc 顺序排序?
更新:
install_remove_items 表中的示例数据(INSTALL_REMOVE_TYPE 字段中 4 种操作类型的 4 条记录):
ir_id: xxxxyyyy5555, install_remove_type= 'INSTALL', workOrderno = 22335522, installed_item_id = IID000174096, installed_performed_on = '11/10/2012', removed_item_id = null, removed_performed_on = null.
ir_id: xxxxyyyy3333, install_remove_type= 'REMOVE', workOrderno = 223542, installed_item_id = null, installed_performed_on = null, removed_item_id = IID000174096, removed_performed_on = '11/12/2012'.
ir_id: xxxxyyyy1111, install_remove_type= 'WORKEDON', workOrderno = 111111, installed_item_id = null, installed_performed_on = null, removed_item_id = IID000174096, removed_performed_on = '11/13/2012'.
ir_id: xxxxyyyy2222, install_remove_type= 'REPLACED', workOrderno = 444444, installed_item_id = IID000174096, installed_performed_on = 11/15/2012, removed_item_id = IID000174096, removed_performed_on = '11/14/2012'.
所以有 4 种类型的操作,“删除”字段用于 REMOVE 操作,“安装”字段用于安装操作,两个字段用于 REPLACED 操作,“删除”字段用于 WORKEDON 操作。
我想编写一个查询,以根据 install_performed_on 和 removed_performed_on 日期(并获取该日期)查找最后执行的四个操作中的哪种操作(与今天的日期或输入日期值相比)。
希望这能让事情变得清楚。
我知道联合可能很好,但目前我们为 SQL 提供的 Java API 不支持联合,所以我可能必须结合 SQL 和 JAVA 代码来实现我的输出。
提前致谢。