Я новичок в SQL Server.Может кто-то помочь мне, пожалуйста.У меня есть ситуация, когда мне нужно удалить строки, где сумма двух строк столбца Rate равна нулю при том же Parent ID.Например, мне нужно удалить строки id = 9 и 10, потому что сумма рейтинга по этим строкам равна нулю.-20.24 + 20.24 = 0 Эти дополнительные строки увеличивают размер отчета.Я хочу удалить следующие строки, где:
****Parent id = 77 id = 9 and 10
Parent id = 88 id = 11 and 12
Parent id = 99 id = 14 and 15
Parent id = 110 id = 18 and 19
Parent id = 111 id = 22 and 23****
declare @testtable table (id int, PARENTID int, ENTRYDATE DATETIME, NAME VARCHAR(50), RATE NUMERIC(10, 2), ENDDATE VARCHAR(50), STATUS VARCHAR(50))
insert into @testtable values
(1, 11, '1/3/2017', 'TEST', 0.07, '', 'NEW')
,(2, 22, '1/12/2017','TEST1', -43.24, '1/12/2017', 'TERM')
,(3, 33, '1/9/2017', 'TEST2', -45.17, '1/6/2017', 'TERM')
,(4, 44, '1/4/2017', 'TEST3', 1, '', 'NEW')
,(5, 55, '1/3/2017', 'TEST4', -32.54, '1/2/2017', 'TERM')
,(6, 55, '1/24/2017','TEST5', 30.74, '', 'NEW')
,(7, 66, '1/6/2017', 'TEST6', 11.56, '', 'NEW')
,(8, 66, '1/19/2017','TEST7', -7.56, '1/6/2017', 'TERM')
,(9, 77, '1/18/2017','TEST8', -20.24, '1/20/2017' , 'TERM')
,(10, 77, '1/19/2017','TEST9', 20.24, '', 'NEW')
,(11, 88, '1/3/2017', 'TEST10', -4.25, '1/3/2017', 'TERM')
,(12, 88, '1/5/2017', 'TEST11', 4.25, '', 'NEW')
,(13, 88, '1/5/2017', 'TEST12', -4.25, '1/3/2017', 'TERM')
,(14, 99, '1/5/2017', 'TEST13', -19.15, '1/2/2017' , 'TERM')
,(15, 99, '1/16/2017','TEST14', 19.15, '', 'NEW')
,(16, 99, '1/16/2017','TEST15', -19.15, '1/16/2017', 'TERM')
,(17, 99, '1/24/2017','TEST16', 19.15, '', 'NEW')
,(18, 110, '1/5/2017', 'TEST17', -21.86, '1/2/2017' , 'TERM')
,(19, 110, '1/5/2017', 'TEST18', 21.86, '', 'NEW')
,(20, 110, '1/16/2017','TEST19', -21.86, '1/16/2017', 'TERM')
,(21, 110, '1/16/2017','TEST20', 21.86, '', 'NEW')
,(22, 1111, '1/11/2017','TEST21', -7.36, '12/30/2016', 'TERM')
,(23, 1111, '1/13/2017','TEST22', 7.36, '', 'NEW')
,(24, 1111, '1/13/2017','TEST23', -7.36, '1/13/2017' , 'TERM')
,(25, 1111, '1/18/2017','TEST24', 8.14, '', 'NEW')
select * from @testtable
id PARENTID ENTRYDATE NAME RATE ENDDATE STATUS
1 11 1/3/2017 TEST 0.07 NEW
2 22 1/12/2017 TEST1 -43.24 1/12/2017 TERM
3 33 1/9/2017 TEST2 -45.17 1/6/2017 TERM
4 44 1/4/2017 TEST3 1 NEW
5 55 1/3/2017 TEST4 -32.54 1/2/2017 TERM
6 55 1/24/2017 TEST5 30.74 NEW
7 66 1/6/2017 TEST6 11.56 NEW
8 66 1/19/2017 TEST7 -7.56 1/6/2017 TERM
9 77 1/18/2017 TEST8 -20.24 1/20/2017 TERM
10 77 1/19/2017 TEST9 20.24 NEW
11 88 1/3/2017 TEST10 -4.25 1/3/2017 TERM
12 88 1/5/2017 TEST11 4.25 NEW
13 88 1/5/2017 TEST12 -4.25 1/3/2017 TERM
14 99 1/5/2017 TEST13 -19.15 1/2/2017 TERM
15 99 1/16/2017 TEST14 19.15 NEW
16 99 1/16/2017 TEST15 -19.15 1/16/2017 TERM
17 99 1/24/2017 TEST16 19.15 NEW
18 110 1/5/2017 TEST17 -21.86 1/2/2017 TERM
19 110 1/5/2017 TEST18 21.86 NEW
20 110 1/16/2017 TEST19 -21.86 1/16/2017 TERM
21 110 1/16/2017 TEST20 21.86 NEW
22 1111 1/11/2017 TEST21 -7.36 12/30/2016 TERM
23 1111 1/13/2017 TEST22 7.36 NEW
24 1111 1/13/2017 TEST23 -7.36 1/13/2017 TERM
25 1111 1/18/2017 TEST24 8.14 NEW
**TOTAL -88.61**
Результат должен быть следующим.Итоговая оценка колонки не окажет влияния.Это то же самое.
id PARENTID ENTRYDATE NAME RATE ENDDATE STATUS
1 11 1/3/2017 TEST 0.07 NEW
2 22 1/12/2017 TEST1 -43.24 1/12/2017 TERM
3 33 1/9/2017 TEST2 -45.17 1/6/2017 TERM
4 44 1/4/2017 TEST3 1 NEW
5 55 1/3/2017 TEST4 -32.54 1/2/2017 TERM
6 55 1/24/2017 TEST5 30.74 NEW
7 66 1/6/2017 TEST6 11.56 NEW
8 66 1/19/2017 TEST7 -7.56 1/6/2017 TERM
13 88 1/5/2017 TEST12 -4.25 1/3/2017 TERM
16 99 1/16/2017 TEST15 -19.15 1/16/2017 TERM
17 99 1/24/2017 TEST16 19.15 NEW
20 110 1/16/2017 TEST19 -21.86 1/16/2017 TERM
21 110 1/16/2017 TEST20 21.86 NEW
24 1111 1/13/2017 TEST23 -7.36 1/13/2017 TERM
25 1111 1/18/2017 TEST24 8.14 NEW
**TOTAL -88.61**