Я пытаюсь создать 2 флага, используя регистр case.Oracle несколько операторов case
Flag1 = event_per_month
Flag2 = event_per_day
Ниже приведены данные выборки
Ищу создать два флага на основе вхождения идентификатора в день и в месяц.
EVENT_PER_DAY логика: если данный идентификатор и msg повторяются в один и тот же день более одного раза, флаг event_per_day становится «T» для события повторения (комбинация id и msg), в противном случае он остается «T».
EVENT_PER_MONTH логика: если данный идентификатор и msg повторяются в одном и том же месяце более одного раза, флаг event_per_month становится «T» для события повторения (комбинация id и msg), в противном случае он остается «T».
Я использовал case 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»? Пожалуйста, объясните логику более четко. Что такое «уникальное»? –
@GordonLinoff: Обновлен вопрос с логической информацией. Логика EVENT_PER_DAY: если данный идентификатор и msg повторяются в один и тот же день более одного раза, флаг event_per_day становится «T» для события повторения (комбинация id и msg), иначе он остается «T». Логика EVENT_PER_MONTH: если данный идентификатор и msg повторяются в одном и том же месяце более одного раза, флаг event_per_month становится «T» для события повторения (комбинация id и msg), в противном случае он остается «T». –