By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE mytable (
"Id" INTEGER,
"Add" INTEGER,
"Check" INTEGER,
"RESULT" INTEGER,
"Seq" INTEGER
);
INSERT ALL
INTO mytable ("Id", "Add", "Check", "RESULT", "Seq") VALUES ('1', '2', '1', '1', '10')
INTO mytable ("Id", "Add", "Check", "RESULT", "Seq") VALUES ('1', '2', '1', '2', '20')
INTO mytable ("Id", "Add", "Check", "RESULT", "Seq") VALUES ('2', '3', '4', '4', '30')
INTO mytable ("Id", "Add", "Check", "RESULT", "Seq") VALUES ('2', '3', '4', '4', '40')
INTO mytable ("Id", "Add", "Check", "RESULT", "Seq") VALUES ('3', '5', '2', '2', '50')
INTO mytable ("Id", "Add", "Check", "RESULT", "Seq") VALUES ('4', '2', '6', '2', '60')
SELECT * FROM dual
6 rows affected
SELECT *
FROM mytable m1
WHERE "Add" = "RESULT"
OR "Seq" = (SELECT MIN("Seq") FROM mytable m2 WHERE m2."Add" = m1."Add")
AND NOT EXISTS (SELECT * FROM mytable m3 WHERE m3."Add" = m1."Add" AND m3."Add" = m3."RESULT")
Id | Add | Check | RESULT | Seq |
---|---|---|---|---|
1 | 2 | 1 | 2 | 20 |
2 | 3 | 4 | 4 | 30 |
3 | 5 | 2 | 2 | 50 |
4 | 2 | 6 | 2 | 60 |