Давайте предположим, что я следующая таблица называется Заказы:Удалить первые строки после квалифицированных те
---------------------------------
| OrderId | Status | CustomerId |
---------------------------------
| 1 | + | 2 |
---------------------------------
| 2 | - | 1 |
---------------------------------
| 3 | + | 2 |
---------------------------------
| 4 | + | 1 |
---------------------------------
| 5 | - | 3 |
---------------------------------
| 6 | + | 4 |
---------------------------------
| 7 | + | 3 |
---------------------------------
Вопрос заключается в том, как я могу удалить следующий заказ после отменен один для каждого клиента? Я в принципе хочу удалить заказ с ID = 4, 7. Таким образом, результат должен быть:
---------------------------------
| OrderId | Status | CustomerId |
---------------------------------
| 1 | + | 2 |
---------------------------------
| 2 | - | 1 |
---------------------------------
| 3 | + | 2 |
---------------------------------
| 5 | - | 3 |
---------------------------------
| 6 | + | 4 |
---------------------------------
Я использую SQL Server, но я действительно интересно писать его с помощью ANSI SQL.
Это можно сделать довольно легко, используя окно но более старые версии sql-сервера не поддерживают их. Какую версию sql-сервера вы используете? Если он старше, то, скорее всего, и трюк тоже сделает совпадение 'ON orderid = orderid-1'. – JNevill
@JNevill, SQL Server 2005 –