jsonb_agg issue

103 views
Skip to first unread message

Антонио Антуан

unread,
Sep 6, 2018, 10:28:37 AM9/6/18
to sqlalchemy
Hi guys.
I'm using sqlalchemy 1.1.13, want to construct that query:
select o.*, jsonb_agg(ou.*) from "Orders" o left join "OrderUIN" ou on ou."OrderID" = o."OrderID" group by o."OrderID"

I tried that options:
- func.jsonb_agg(OrderUINTable), got select o.*, jsonb_agg() from "Orders"... Empty argument for the function, as you can see.
- func.jsonb_agg(OrderUINTable.columns.values()), got can't adapt type 'Column'
- func.jsonb_agg(OrderUINTable.alias), got TypeError: self_group() got an unexpected keyword argument 'against'

How can I implement it?

Антонио Антуан

unread,
Sep 6, 2018, 10:43:57 AM9/6/18
to sqlalchemy
Another one fail:
func.jsonb_agg(*models.OrderUINTable.c.values()) - PG error: "function jsonb_agg(integer, text, numeric, text, text, text, text) does not exist"


четверг, 6 сентября 2018 г., 17:28:37 UTC+3 пользователь Антонио Антуан написал:

Антонио Антуан

unread,
Sep 6, 2018, 10:57:37 AM9/6/18
to sqlalchemy
Ok, that works almost fine:
>>> func.jsonb_agg(literal_column(models.OrderUINTable.name + '.*'))
'jsonb_agg(OrderUIN.*)'
The problem is OrderUIN. It must be quoted: jsonb_agg("OrderUIN".*)

чт, 6 сент. 2018 г. в 17:44, Антонио Антуан <a.ch...@gmail.com>:
--
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+...@googlegroups.com.
To post to this group, send email to sqlal...@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.
--

Антон

Reply all
Reply to author
Forward
0 new messages