Listings that ARE members of any of these groups. This one also changes
the shape of the read: it joins through group_listings, groups the rows
by listing (a listing may be in several of the requested groups), and
projects the extra group_ids column naming which of them it belongs to.
That column is meaningless without this filter, which is why the two are
one field rather than a separate opt-in.
Usage
import { type ListingWhere } from "docs/database.ts";