SQL: how to compare data in different rows and only select unique "pairs" assuming there are only two colums? -



SQL: how to compare data in different rows and only select unique "pairs" assuming there are only two colums? -

i have several tables (bold means primary key):

dancer(dancer_name, gender, age)

dance(dancer_name, dvd_id, song_title)

dvd(dvd_id, song_title, cost)

song(dancer_name, song_title, genre)

launch(dancer_name, dvd_id, year)

i want select pairs of dancers song appear in 1 or more dvds , each pair print out once.

this close , prints out same pair twice, names in different columns:

select distinct dancer1.dancer_name, dancer2.dancer_name, count(*) count dancer dancer1, dancer dancer2, dance dance1, dance dance2 dancer1.dancer_name = dance1.dancer_name , dancer2.dancer_name = dance2.dancer_name , dancer1.dancer_name <> dancer2.dancer_name , dance1.dvd_id = dance2.dvd_id grouping dancer1.dancer_name, dancer2.dancer_name;

so instead of getting

tom jon jon tom bob sam sam bob

i want

tom jon bob sam

if alter test dancer1.dancer_name <> dancer2.dancer_name dancer1.dancer_name < dancer2.dancer_name, should result want.

hovever, using names keys in dance table, don't need bring together dancer table, , query may simplified this:

select dance1.dancer_name, dance2.dancer_name, count(*) count dance dance1 inner bring together dance dance2 on dance1.dvd_id = dance2.dvd_id dance1.dancer_name < dance2.dancer_name grouping dance1.dancer_name, dance2.dancer_name

sql select group-by selection

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -