I have created a table
create table routes (
type character varying
, quality character varying
, route integer
, fare integer
);
insert into routes (type, quality, route, fare)
values
('X', 'GOOD', 1, 5)
,('Y', 'GOOD', 1, 7)
,('X', 'AVERAGE', 2, 10)
,('Y', 'GOOD', 2, 7)
,('X', 'BAD', 3, 8)
,('Y', 'BAD', 3, 15);
For each route number there are 2 records, I need to select one row(route,fare) for each route based on type and quality.
For example if the type is 'X' and quality is 'GOOD' or 'AVERAGE', I will select the route and fare of that row and move over to next 'route' . Otherwise, I will select the 'route' and 'fare' from row with type 'Y'. That means from the above table, I should get:
1,5
2,10
3,15
I couldn't figure out to looping through the records of each route and derive the output from the two records of same route.