diff options
Diffstat (limited to 'sqlglot/generator.py')
-rw-r--r-- | sqlglot/generator.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sqlglot/generator.py b/sqlglot/generator.py index beffb91..2b4c575 100644 --- a/sqlglot/generator.py +++ b/sqlglot/generator.py @@ -795,14 +795,16 @@ class Generator: alias = expression.args["alias"] table = alias.name - table = f" {table}" if table else table columns = self.expressions(alias, key="columns", flat=True) - columns = f" AS {columns}" if columns else "" if expression.args.get("view"): + table = f" {table}" if table else table + columns = f" AS {columns}" if columns else "" op_sql = self.seg(f"LATERAL VIEW{' OUTER' if expression.args.get('outer') else ''}") return f"{op_sql}{self.sep()}{this}{table}{columns}" + table = f" AS {table}" if table else table + columns = f"({columns})" if columns else "" return f"LATERAL {this}{table}{columns}" def limit_sql(self, expression: exp.Limit) -> str: @@ -889,8 +891,8 @@ class Generator: def query_modifiers(self, expression: exp.Expression, *sqls: str) -> str: return csv( *sqls, - *[self.sql(sql) for sql in expression.args.get("laterals", [])], *[self.sql(sql) for sql in expression.args.get("joins", [])], + *[self.sql(sql) for sql in expression.args.get("laterals", [])], self.sql(expression, "where"), self.sql(expression, "group"), self.sql(expression, "having"), |