summaryrefslogtreecommitdiffstats
path: root/sqlglot/generator.py
diff options
context:
space:
mode:
Diffstat (limited to 'sqlglot/generator.py')
-rw-r--r--sqlglot/generator.py8
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"),