-SELECT DISTINCT c.name FROM users u
- JOIN groupmembers g ON g.uid = u.uid
- JOIN channel_group_flags gf ON g.gid = gf.group
- JOIN channels c ON gf.channel = c.id
- JOIN channel_flags f ON f.id = gf.flag
-WHERE u.hostmask ILIKE $1 AND COALESCE(c.name = $2,TRUE)
+SELECT DISTINCT channel FROM users u
+ JOIN groupmembers g USING (uid)
+ JOIN channel_group_flags gf USING (gid)
+ JOIN channel_flags f USING (flag)
+WHERE u.hostmask ILIKE $1 AND COALESCE(channel = $2,TRUE)