The SQL for this would be:
DELETE FROM users u
USING purchases p
WHERE u.purchase_id = p.id and p.item_id = $1
In Ecto you can do this as simply as:
query = from u in Users,
join: p in assoc(u, :purchase),
where: p.item_id == ^item_id
Repo.delete_all(query)