I'm trying to use slick 3.1.1 to execute the equivalent of the following SQL query:

```
SELECT 
    r.*
FROM Resource r
INNER JOIN User u ON u.id = r.owner_id
INNER JOIN UserCredentials uc ON uc.user_id = u.id 
WHERE r.id = <resource id> 

```

I've expressed the query like this:

```
(for ( ((resource,_),_) <- resources
                              join users on (_.userId === _.id)
                              join userCredentials on (_._2.id === _.userId))
  yield resource).filter(_.id === resourceId).result.headOption 

```

It feels unwieldly and hard to read. Is there a cleaner way of writing this query with slick?