diff --git a/Sources/StructuredQueriesCore/TableAlias.swift b/Sources/StructuredQueriesCore/TableAlias.swift index 91c1c3ec..222517ea 100644 --- a/Sources/StructuredQueriesCore/TableAlias.swift +++ b/Sources/StructuredQueriesCore/TableAlias.swift @@ -60,6 +60,21 @@ extension Table { /// // ON "users"."referrerID" = "referrers"."id" /// ``` /// + /// Table aliases are representable in selections by providing the type to the `@Columns` macro: + /// + /// ```swift + /// @Selection + /// struct UserWithReferrer { + /// let user: User + /// @Columns(as: TableAlias.self) + /// let referrer: User + /// } + /// + /// let usersWithReferrers = User + /// .join(User.as(Referrer.self).all) { $0.referrerID == $1.id } + /// .select { UserWithReferrer.Columns(user: $0, referrer: $1) } + /// ``` + /// /// - Parameter aliasName: An alias name for this table. /// - Returns: A table alias of this table type. public static func `as`(_ aliasName: Name.Type) -> TableAlias.Type {