您好我有我在哪里从表中选择2个不同的日期列的选择查询,我需要将它们合并到一列中的结果和秩序按日期的降序排列。 查询看起来像以下:合并两个日期列在Oracle中的“选择”和排序的合并列
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
这不是我想要的方式it..How做我有相关的日期在“irdate” colu数据还有按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动作,INSTALL动作的“安装”字段,REPLACED动作的两个字段和WORKEDON动作的“已删除”字段。
我想编写一个查询,以查找基于install_performed_on和removed_performed_on日期(并获取该日期)最后执行的四种操作中的哪种操作(与当前日期或输入日期值相比)。
希望这事情说清楚。
我知道工会可能是好的,但目前的Java API,我们有SQL犯规支持工会,所以我必须做的SQL和Java代码的组合来实现我的输出。
在此先感谢。
谢谢,这是非常接近。我要的是在install_remove_items表就比较“installed_performed_on”和“removed_performed_on”今天的日期最近的记录(实际上该事件发生在去年 - 安装/删除)。想知道如果我们可以使这个查询简洁 –
我认为这将有所帮助,如果你显示一些示例输入+输出数据,如果possisble。 – DazzaL
请检查更新问题 –