Я хочу получить массив данных таблицы продуктов с помощью функции array_agg. В Postgers это прекрасно работает, но в SQLalchemy это можно сделать только с такими типами данных, как целые числа, строки и т. д. Как реализовать это в SQLalchemy?
Код в postgresql:
select DISTINCT
seller.title, array_agg(product), COUNT(product.id)
from seller_product
INNER JOIN seller ON seller.ozon_id = seller_product.id_seller
INNER JOIN product ON product.ozon_id = seller_product.id_product
WHERE start_id = 36
GROUP BY seller.title ORDER BY COUNT(product.id) DESC
Код Python. Я пытаюсь сделать это так:
slct_stmt_now = select(Seller, func.array_agg(Product.__table__), func.count(Product.id)).distinct().select_from(seller_product)
slct_stmt_now = slct_stmt_now.join(Seller, Seller.ozon_id == seller_product.columns["id_seller"]).join(Product, Product.ozon_id == seller_product.columns["id_product"]).where(seller_product.columns["start_id"] == LAST_START_ID).group_by(Seller)
now_data_txt = session.execute(slct_stmt_now.order_by(func.count(Product.id).desc())).all()
Подробнее здесь: https://stackoverflow.com/questions/786 ... -array-agg
Получить строки из связанной таблицы (объект ORM) через array_agg() ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить свойства из связанной таблицы как свойства собственной таблицы в Laravel 5?
Anonymous » » в форуме Php - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-