С помощью SQL Server 2005 у меня есть таблица, в которой регистрируются определенные события, и мне нужно создать запрос, который возвращает только очень конкретные результаты. Там пример ниже:SQL-запрос фильтрации
Log: Log_ID | FB_ID | Date | Log_Name | Log_Type 7 | 4 | 2007/11/8 | Nina | Critical 6 | 4 | 2007/11/6 | John | Critical 5 | 4 | 2007/11/6 | Mike | Critical 4 | 4 | 2007/11/6 | Mike | Critical 3 | 3 | 2007/11/3 | Ben | Critical 2 | 3 | 2007/11/1 | Ben | Critical
Запрос должен выполнить следующие действия: возвращать только одну строку на каждый FB_ID, но это должно быть один, где log_name изменилось в первый раз, или если имя не меняется, затем первый датированный ряд.
В условиях непрофессионала мне нужно это, чтобы просмотреть БД, чтобы проверить каждый экземпляр, в котором ответственность за дело (FB_ID) была перенесена на другого человека, а в случае, если это никогда не было, просто введите имя оригинального регистратора ,
В приведенном выше примере, я должен получить строки (Log_ID) 2 и 6.
даже возможно ли это? Прямо сейчас идет дискуссия о том, была ли БД просто ошибочной. :)
Я предполагаю, что мне нужно как-то сохранить первое результирующее имя Log_Name в переменной, а затем сравнить его с условием IF и т. Д. Я понятия не имею, как это сделать с SQL.
Редактировать: Обновлена дата. И уточнить на это, правильный результат будет выглядеть следующим образом:
Log_ID | FB_ID | Date | Log_Name | Log_Type 6 | 4 | 2007/11/6 | John | Critical 2 | 3 | 2007/11/1 | Ben | Critical
Это не первая дата в FB_ID я после, но строка, где log_name изменяется от оригинала.
Первоначально FB_ID 4 принадлежит Майку, но запрос должен возвращать строку, в которой он переходит к Джону. Тем не менее, он НЕ должен возвращать строку, в которой он продвигается дальше к Нине, потому что первое изменение ответственности уже произошло, когда Джон получил это.
В случае с Ben с FB_ID 3 регистратор никогда не изменяется, поэтому первая строка для Бена должна быть возвращена.
В вашем примере выше все даты одинаковы? Являются ли даты только или датой? –
Какую платформу вы используете? – Quassnoi
Ах, SQL Server 2005 –