сгруппировать по пунктам - PullRequest
0 голосов
/ 08 сентября 2010

У меня есть таблица с именем table1, и в ней есть следующие столбцы.

Предположим, есть записи, такие как localamount - 20 000, 30000 500 000, 100 000, тогда, согласно моим условиям, я должен удалить записи из этой таблицы в соответствии сгруппа по набору идентификаторов сайта, до идентификатора, переходный, сдвиг идентификатора, где localamount превышает 10000 ... остальные записи могут быть доступны?

моя цель - удалить строки из этой таблицы, где локальная сумма равнапревышает 10,0000 в соответствии с идентификатором сайта, до идентификатора, Transid, ID смены

    SiteId          varchar(10), 
    TillId          tinyint,
    ShiftId         int,
    TransId         int,
    TranDate        datetime,
    SettlementType  varchar(5),
    CreditCardNumber varchar(25),
    ProductTypeCode varchar(10),
    NewProductTypeCode varchar(10),
    TransactionType int,
    ForeignAmount   money,
    LocalAmount     money,
    ProductCode     varchar(10)

Ответы [ 2 ]

1 голос
/ 08 сентября 2010

Я не уверен, что понимаю, что вы говорите, но разве вы не можете сделать это без группы?

0 голосов
/ 08 сентября 2010

Предполагается, что вы хотите удалить всю группу, где сумма> 10000

;with cte as
(
select sum(localamount) over
            (partition by siteid, tillid, transid,shiftid) as l,
* from table1 
)
delete from cte where l>10000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...