PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Chọn các cột từ lệnh gọi hàm trong lõi sqlalchemy

Bạn sẽ muốn sử dụng FunctionElement.alias() và cột column() :

from sqlalchemy import func, select, column

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

Tài liệu đề cập cụ thể Postgresql như một trường hợp sử dụng cho cấu trúc này. Ở trên tạo ra:

SELECT col1, col2 
FROM my_function() AS anon_1

Sử dụng tham số _selectable của column() bạn cũng có thể:

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

nhưng vì _selectable không có giấy tờ, đây có thể không phải là một ý kiến ​​hay.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:Ưu điểm của ENUM so với mối quan hệ một-nhiều?

  2. psql:FATAL:cơ sở dữ liệu <người dùng> không tồn tại

  3. Dấu thời gian jOOQ được lưu trữ với độ lệch múi giờ cục bộ

  4. Các cột được tính toán / tính toán / ảo / dẫn xuất trong PostgreSQL

  5. Tìm kết hợp các giá trị cụ thể