David, I try then the following - On Wed, May 4, 2022 at 5:28 PM David G. Johnston <david.g.johns...@gmail.com> wrote:
> You missed quoting the part where I describe the on clauses you need to > distinguish between "them" and "me" > > Me: u.uid in (player...) and (s.uid = u.uid) > Them: u.uid in (player...) and (s.uid <> u.uid) > > https://dbfiddle.uk/?rdbms=postgres_14&fiddle=048b9b9c7c55256c1a478d7c90cd2667 SELECT CASE WHEN c.uid = s.uid THEN 1 ELSE 0 END, c.msg FROM words_chat c JOIN words_games g USING (gid) JOIN words_users myself ON (myself.uid IN (g.player1, g.player2) AND myself.uid = s.uid) JOIN words_users opponent ON (opponent.uid IN (g.player1, g.player2) AND myself.uid <> s.uid) JOIN words_social s ON (s.uid = myself.uid) WHERE c.gid = in_gid AND s.social = in_social AND s.sid = in_sid AND (c.uid = myself.uid OR NOT opponent.muted) ORDER BY c.CREATED ASC; And get the syntax error which don't quite understand: ERROR: missing FROM-clause entry for table "s" LINE 57: ...yself.uid IN (g.player1, g.player2) AND myself.uid = s.uid) ^ Probably because "myself" needs "s" and vice versa?