1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
from sqlglot import exp def expand_multi_table_selects(expression): for from_ in expression.find_all(exp.From): parent = from_.parent for query in from_.expressions[1:]: parent.join( query, join_type="CROSS", copy=False, ) from_.expressions.remove(query) return expression