i got table :
id, user_a, user_b, score 1, 3, 7, 19 2, 8, 3, 20 3, 3, 2, 10 4, 7, 6, 2 5, 3, 6, 7
i achieve counting number of match per user :
select user, count(*) ( select user_a user tablename union select user_b tablename ) dt group user
i want add user email usertable:
count(*), user, email 4, 3, user3@mail.com 2, 7, user7@mail.com 1, 8, user8@mail.com 1, 2, user2@mail.com 2, 6, user6@mail.com
i 've tried :
select user, count(*) ( select user_a user, ut.email tablename union select user_b tablename ) dt user not null left join usertable ut on ut.id = user group user
but there syntax error:
you have error in sql syntax; check manual corresponds mysql server version right syntax use near 'left join usertable ut on ut.id = user group user'
any idea ?
do union all
in derived table, 1 column of users. group by
it's result.
select user, count(*) ( select user_a user tablename union select user_b tablename ) dt group user
answer updated question:
select dt.user, ut.email, count(*) ( select user_a user tablename union select user_b tablename ) dt left join usertable ut on ut.id = dt.user group dt.user, ut.email
Comments
Post a Comment