我正在嘗試使用case語句創建2個標誌。Oracle多個案例陳述
Flag1 = event_per_month
Flag2 = event_per_day
下面是樣本數據
我期待以每天和每月的ID發生創建兩個標誌。
EVENT_PER_DAY邏輯:如果給定的id和msg不止一次在同一天重複,那麼event_per_day標誌將變爲重複事件(id和msg的組合)的「T」,否則它將保持「T」。
EVENT_PER_MONTH邏輯:如果給定的id和msg在同一個月中重複多次,那麼event_per_month標誌將變爲重複事件(id和msg的組合)的「T」,否則它將保持「T」。
我使用了case語句,但是這裏的問題是我有日期以及月份列,這使得它很複雜。
這裏是預期的結果
id error_date error_month error category event_per_day event_per_month
123 15-May-15 12:01:01 May-15 msg1 F F
123 15-May-15 12:20:00 May-15 msg1 T T
123 17-May-15 22:00:00 May-15 msg2 F F
124 17-May-15 20:00:00 May-15 msg2 T T
123 18-May-15 12:00:00 May-15 msg3 F F
123 19-May-15 19:00:00 May-15 msg3 F F
123 20-May-15 12:00:00 May-15 msg4 F F
123 20-May-15 17:00:00 May-15 msg4 T T
123 22-May-15 12:00:00 May-15 msg4 F F
123 23-May-15 12:00:00 May-15 msg4 F F
123 12-Aug-15 18:00:00 Aug-15 msg1 F F
123 13-Aug-15 12:00:00 Aug-15 msg2 F F
123 14-Aug-15 12:00:00 Aug-15 msg3 F F
123 15-Aug-15 12:00:00 Aug-15 msg4 F F
123 16-Aug-15 12:00:00 Aug-15 msg1 F T
123 17-Aug-15 12:00:00 Aug-15 msg1 F T
123 18-Aug-15 12:00:00 Aug-15 msg2 F T
123 19-Aug-15 12:00:00 Aug-15 msg3 F T
123 20-Aug-15 12:00:00 Aug-15 msg4 F T
123 21-Aug-15 12:00:00 Aug-15 msg3 F T
890 15-May-15 12:01:01 May-15 msg1 F F
890 15-May-15 12:20:00 May-15 msg1 T T
890 17-May-15 22:00:00 May-15 msg2 F F
890 17-May-15 20:00:00 May-15 msg2 T T
890 18-May-15 12:00:00 May-15 msg3 F F
890 19-May-15 19:00:00 May-15 msg3 F F
890 20-May-15 12:00:00 May-15 msg4 F F
890 20-May-15 17:00:00 May-15 msg4 T T
890 22-May-15 12:00:00 May-15 msg4 F F
890 23-May-15 12:00:00 May-15 msg4 F F
890 12-Aug-15 18:00:00 Aug-15 msg1 F F
890 13-Aug-15 12:00:00 Aug-15 msg2 F F
890 14-Aug-15 12:00:00 Aug-15 msg3 F F
890 15-Aug-15 12:00:00 Aug-15 msg4 F F
890 16-Aug-15 12:00:00 Aug-15 msg1 F T
890 17-Aug-15 12:00:00 Aug-15 msg1 F T
890 18-Aug-15 12:00:00 Aug-15 msg2 F T
890 19-Aug-15 12:00:00 Aug-15 msg3 F T
890 20-Aug-15 12:00:00 Aug-15 msg4 F T
890 21-Aug-15 12:00:00 Aug-15 msg3 F T
你桌子上的結果對我來說沒有意義。爲什麼前兩行有「F」和「T」?請更清楚地解釋邏輯。什麼是「獨特」? – 2015-03-24 23:13:26
@GordonLinoff:用邏輯信息更新了問題。 EVENT_PER_DAY邏輯:如果一個給定的id和msg不止一次在同一天重複,那麼event_per_day標誌將變爲重複事件的「T」(id和msg的組合),否則它將保持「T」。 EVENT_PER_MONTH邏輯:如果給定的id和msg在同一個月內重複多次,那麼event_per_month標誌將變爲重複事件(id和msg的組合)的「T」,否則它將保持「T」。 – 2015-03-24 23:17:30