sql - How to list all pairs of location with same area from the table in Oracle? -
i have been trying find answer question.
list pairs of locations have same area. result should list (location name 1, location name 2, location area) location name 1 , location name 2 have same location area. pair should appear once in output.
so table can this:
(loc_id, loc_name, loc_area) (1, abc, 60) (2, zxy, 50) (3, def, 60) (4, yum, 60) (5, zum, 50) pairs: (abc,def,60), (zxy,zum,50), (abc,yum,60), (def,zum,60), , on.
update:
i table first name, second name , location area pratik's solution. but, doesn't give value in table.
what if this?
select t_1.loc_name name1, t_2.loc_name name2, t_1.loc_area location t_1, location t_2 t_1.loc_area = t_2.loc_area , t_1.loc_name<>t_2.loc_name order t_1.loc_name i list of probable combinations (similar rebika's solution below). how remove duplicates list?
i don't want
name1 name2 loc_area abc def 60 def abc 60 i want
name1 name2 loc_area abc def 60 abc yum 60 def yum 60 . . . thanks.
try this,
select a.loc_name, b.loc_name, a.loc_area location a, location b a.loc_area = b.loc_area , a.loc_name != b.loc_name , a.loc_id < b.loc_id; - first condition ensures records same
loc_areajoined. - second condition ensures
loc_namenot joined itself. - third condition ensures 1 combination of
loc_namereturned.
Comments
Post a Comment