Table : user
Id name
1 a
2 b
3 c
4 d
Table : block_user
id block_by block
1 1 2
when i retrieve list for user 1 at that time i don't want user 2 in list but i stuck at query: i want user 3 , 4 in place of it return user 2 which is blocked
my sql fiddle Fiddle here and my current query
Select u.* from user u JOIN block_user bu on bu.block_by = u.Id or bu.block = u.Id where u.Id != 1 GROUP BY u.Id