У меня есть таблица Access, которая называется RECORDS с записями покупок.
Id | Type | Price | Date | Processed |
------------------------------------------------------
1 | C | 30€ | 01/01/2016 | Null |
------------------------------------------------------
2 | R | -30€ | 01/01/2016 | Null |
------------------------------------------------------
3 | C | 10€ | 02/02/2016 | Null |
------------------------------------------------------
4 | C | 10€ | 02/02/2016 | Null |
------------------------------------------------------
5 | R | -10€ | 02/02/2016 | Null |
------------------------------------------------------
6 | C | 25€ | 03/02/2016 | Null |
------------------------------------------------------
7 | C | 42€ | 04/02/2016 | Null |
------------------------------------------------------
Что я хочу сделать, так это установить True для записей о начислении (Тип 'C'), у которых есть противоположная пара записей о возмещении (Тип 'R').
Примерно так: 1C и 1R = True
Id | Type | Price | Date | Processed |
------------------------------------------------------
1 | C | 30€ | 01/01/2016 | True |
------------------------------------------------------
2 | R | -30€ | 01/01/2016 | True |
------------------------------------------------------
3 | C | 10€ | 02/02/2016 | True |
------------------------------------------------------
4 | C | 10€ | 02/02/2016 | Null |
------------------------------------------------------
5 | R | -10€ | 02/02/2016 | True |
-----------------------------------------------------
6 | C | 25€ | 03/02/2016 | Null |
------------------------------------------------------
7 | C | 42€ | 04/02/2016 | Null |
------------------------------------------------------
Пока что у меня есть это, но оно устанавливает True для всех записей N '' C '
UPDATE
RECORDS AS T1
INNER JOIN RECORDS T2
ON ABS(T1.Price) = ABS(T2.Price) AND T1.Date =T2.Date
SET T1.Processed = TRUE
WHERE (T1.Type = 'C' AND T2.Type = 'R') OR (T1.Type = 'R' AND T2.Type = 'C')