Итак, у меня есть таблица, которая имеет ArticleID (GUID), RevisionNumber (целое число) и StatusCode (текст). Статья может иметь любое количество ревизий, но каждый раз при создании новой ревизии StatusCode предыдущей ревизии должен быть «Revised», а StatusCode самой новой ревизии может быть «Active», «Draft» или «Cancelled». Однако данные испорчены, и мне нужно определить, какие записи (из 100 тысяч) не имеют правильного статуса. Пример данных:
Article ID RevisionNumber StatusCode
========== ============== ==========
xx-xxxx-xx 7 Active
xx-xxxx-xx 6 Revised
xx-xxxx-xx 5 Active
xx-xxxx-xx 4 Draft
xx-xxxx-xx 3 Revised
xx-xxxx-xx 2 Active
xx-xxxx-xx 1 Revised
xx-xxxx-xx 0 Revised
xx-yyyy-yy 1 Active
xx-yyyy-yy 0 Active
В приведенном выше сценарии мне нужно знать, что xx-xxxx-xx Revision 5, 4 и 2 не соответствуют надлежащему состоянию, а xx-yyyy-yy Revision 0 неверен , Как я могу получить эту информацию из запроса sql, используя sql server 2012?