こんにちは私はテーブルから2つの異なる日付列を選択しているselectクエリを持っています、私はそれらを結果の1つの列にマージし、日付の降順で並べ替える必要があります。クエリは次のようになります。
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」列に日付関連のデータを入れ、説明順に並べ替えるにはどうすればよいですか?
アップデート:
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アクションには「removed」フィールド、INSTALLアクションには「install」フィールド、REPLACEDアクションには「removed」フィールド、WORKEDONアクションには「removed」フィールドの両方が入力されます。
install_performed_onとremoved_performed_onの日付に基づいて(今日の日付または入力された日付の値と比較して)4つのうち最後に実行されたアクションの種類を見つけるためのクエリを作成します(また、その日付を取得します)。
これが物事を明確にすることを願っています。
ユニオンは良いかもしれませんが、現在SQL用のJava APIはユニオンをサポートしていないため、出力を実現するにはSQLとJAVAコードの組み合わせを実行する必要があるかもしれません。
前もって感謝します。