On Sun, May 6, 2018 at 4:15 AM, <siddhesh@erpdata.cloud> wrote: > Hi, > I am using sqlalchemy core. I want to generate select query with > table_name.* option in select part when I am performing join and it should > be dialect specific. In below query I am using below line of code. >
This might not be what you want to do, but you can read all the column names like this: t = Table("step14", metadata, autoload_with=engine) then "t" will have all the columns in step14 explicitly. You can do: select([t]). maybe you want to avoid the expense of reflecting the table name. here's a trick you can do: from sqlalchemy import select, table, column from sqlalchemy.sql import quoted_name step14 = table("Step14", column(quoted_name('*', quote=False))) stmt = select([step14.c['*']]).select_from(<your join>) seems to work >>> print(select([table("Step14", column(quoted_name('*', >>> quote=False))).c['*']])) SELECT "Step14".* FROM "Step14" >>> print(select([table("Step14", column(quoted_name('*', >>> quote=False))).c['*']]).compile(dialect=mssql.dialect())) SELECT [Step14].* FROM [Step14] though it looks like you are using an alias... >>> print(select([table("Step1", column(quoted_name('*', >>> quote=False))).alias("Step14").c['*']]).compile(dialect=mssql.dialect())) SELECT [Step14].* FROM [Step1] AS [Step14] > select(["*"]).select_from(join_obj). > > Mssql and Oracle dialect gives below query output > > MSSQL : > SELECT * FROM [Step1] AS [Step14] JOIN [ORDERS] AS [ORDERS6] ON > [Step14].[CUST_ID1] = [ORDERS6].[CUSTOMER_ID] > ORACLE QUERY: > SELECT * FROM "Step1" "Step14" JOIN "ORDERS" "ORDERS6" ON > "Step14"."CUST_ID1" = "ORDERS6"."CUSTOMER_ID" > above queries will return columns from both the tables. > > My requirement is query should be > MSSQL : > SELECT [step14].* FROM [Step1] AS [Step14] JOIN [ORDERS] AS [ORDERS6] ON > [Step14].[CUST_ID1] = [ORDERS6].[CUSTOMER_ID] > ORACLE QUERY: > SELECT "step14".* FROM "Step1" "Step14" JOIN "ORDERS" "ORDERS6" ON > "Step14"."CUST_ID1" = "ORDERS6"."CUSTOMER_ID" > > Note: > Its not possible to me get all columns from table which I want to select. I > will only get columns which used for join. So I cannot use column based > select query. I have Littlebit tricky requirements in my project. > > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To post to this group, send email to sqlalchemy@googlegroups.com. > Visit this group at https://groups.google.com/group/sqlalchemy. > For more options, visit https://groups.google.com/d/optout. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.