diff --git a/include/matador/sql/table.hpp b/include/matador/sql/table.hpp index 0ab7bfc..d7ce0c4 100644 --- a/include/matador/sql/table.hpp +++ b/include/matador/sql/table.hpp @@ -14,13 +14,22 @@ struct table table(const char *name, std::string as = "") // NOLINT(*-explicit-constructor) : name(name), alias(std::move(as)) {} table(std::string name, std::string as = "") // NOLINT(*-explicit-constructor) - : name(std::move(name)), alias(std::move(as)) {} + : name(std::move(name)) + , alias(std::move(as)) {} + table(std::string name, std::string as, const std::vector &columns) + : name(std::move(name)) + , alias(std::move(as)) + , columns(columns) {} table& as(const std::string &a) { alias = a; return *this; } + [[nodiscard]] table as(const std::string &a) const { + return { name, a, columns }; + } + std::string name; std::string alias;