Description
Is your feature request related to a problem? Please describe.
I'm unsure how to make the best use of the library. Say I have a query like:
CREATE TEMP TABLE matching_foos AS (
SELECT foo_table.name, foo_table.id FROM foo_table
WHERE foo_table.name LIKE "%123%"
);
SELECT matching_foos.name, matching_foos.id
FROM matching_foos;
It's my understanding that as of #74 it's possible to execute this multi-statement query. But, I can't figure out how to build such a query using sqlalchemy statements. e.g. if I have
def get_matching_foos_query() -> sqlalchemy.selectable:
return sqlalchemy.select(models.foo_table.c.name, models.foo_table.c.id).where(models.foo_table.c.name.like("%123%"))
How would I then turn that into a temp table and then reference that table? Do I have to do a literal compile and then throw it into a sqlalchemy.text? Is there any sqlalchemy-style invocation to support this use case using similar .c.column_a
syntax?
Describe the solution you'd like
Documentation (in the main README perhaps? or a link to a test file?) demonstrating how to create pythonic multi-statement queries that leverage some amount of modularity (vs straight text). Ideally would love to see: CREATE TEMP TABLE
and SET
/DECLARE
Describe alternatives you've considered
I really want to avoid just sending text. Doing so loses all of sqlalchemy's power to create modular statements by reusing filters, selectables, etc.