sql >> データベース >  >> RDS >> PostgreSQL

sqlalchemyコアの関数呼び出しから列を選択します

    <を使用することをお勧めします。 code> FunctionElement.alias() 軽量の column( )

    from sqlalchemy import func, select, column
    
    stmt = select([column('col1'), column('col2')]).\
        select_from(func.my_function().alias())
    

    ドキュメントでは、この構成のユースケースとしてPostgresqlについて具体的に言及しています。上記は以下を生成します:

    SELECT col1, col2 
    FROM my_function() AS anon_1
    

    パラメータ_selectableを使用する column()の 次のこともできます:

    In [4]: fn = func.my_function().alias()
    
    In [5]: stmt = select([column('col1', _selectable=fn),
       ...:                column('col2', _selectable=fn)])
    
    In [6]: print(stmt)
    SELECT anon_1.col1, anon_1.col2 
    FROM my_function() AS anon_1
    

    ただし、 _selectable以降 文書化されていないままであるため、これは良い考えではないかもしれません。




    1. 'false'はmysqlの文字列と一致しますか?

    2. 構文エラー、予期しない'mysql_connect'(T_STRING)

    3. MySQLでツリーをフラット化しますか?

    4. MySQL:フラット/会話メッセージテーブルの最後のメッセージのみを返します