sql - query to count number of unique relations -
i have 3 tables:
t_user (id, name) t_user_deal (id, user_id, deal_id) t_deal (id, title)
multiple user can linked same deal. (i'm using oracle should similar, can adapt it)
how can users (name) number of unique user made deal with.
let's explain data:
t_user: id, name 1, joe 2, mike 3, john t_deal: id, title 1, deal number 1 2, deal number 2 t_user_deal: id, user_id, deal_id 1, 1, 1 2, 2, 1 3, 1, 2 4, 3, 2 the result expect: user_name, number of unique user made deal joe, 2 mike, 1 john, 1
i've try didn't expected result:
select tu.name, count(tu.id) nbrelations t_user tu inner join t_user_deal tud on tu.id = tud.user_id inner join t_deal td on tud.deal_id = td.id ( td.id in ( select distinct td.id t_user_deal tud2 inner join t_deal td2 on tud2.deal_id = td2.id tud.id <> tud2.user_id ) ) group tu.id order nbrelations desc thanks help
this should result
select id1, count(id2),name ( select distinct tud1.user_id id1 , tud2.user_id id2 t_user_deal tud1, t_user_deal tud2 tud1.deal_id = tud2.deal_id , tud1.user_id <> tud2.user_id) tab, t_user tu tu.id = id1 group id1,name
Comments
Post a Comment