У меня есть две таблицы, названные инцидентам и действие. В каждом инциденте много действий. Каждое действие имеет отметку времени, когда оно было завершено.Как проверить, если запись имеет самую старую метку времени или не в один-ко-многим присоединиться к MSSQL
Я хочу, чтобы выбрать все действия, как это:
select action.completed, * from action
left join incident on incident.id = action.incidentid
, а затем я хочу, чтобы создать логическое значение, которое говорит мне, если каждое действие является первым завершено или нет, в случае инцидента.
Пример: для инцидента 2 действие 6 завершено первым. Для случая 3 сначала было выполнено действие 10. Это выход я хочу:
completed | completed_first | actionid | incidentid | ...
---------------------+-----------------+----------+------------+-----
2017-01-01 02:23:30 | false | 5 | 2 |
2017-01-01 01:00:00 | true | 6 | 2 |
2017-01-01 05:23:30 | false | 7 | 2 |
2017-01-01 00:30:00 | false | 8 | 3 |
NULL | false | 9 | 3 |
2017-01-01 00:10:00 | true | 10 | 3 |
Так как я генерировать completed_first колонку?
Обратите внимание, что завершено = NULL не может считаться выполненным.
'NULL' сорт первый, вам необходимо исключить его – AakashM
@AakashM Спасибо, обработали его в редактировании – JohnHC
Спасибо, что работали! – PeterFisk