“PostgreSQL Display subkery jako JSON” Kod odpowiedzi

PostgreSQL Display subkery jako JSON

// joining 3 tables and nesting results as json, keys can be named arbitrarily

select
        json_build_object(
                'id', u.id,
                'name', u.name,
                'email', u.email,
                'user_role_id', u.user_role_id,
                'user_role', json_build_object(
                        'id', ur.id,
                        'name', ur.name,
                        'description', ur.description,
                        'duty_id', ur.duty_id,
                        'duty', json_build_object(
                                'id', d.id,
                                'name', d.name
                        )
                )
    )
from users u
inner join user_roles ur on ur.id = u.user_role_id
inner join role_duties d on d.id = ur.duty_id;
Wide-eyed Fox

PostgreSQL Display subkery jako JSON

// PostgreSQL >= 9.4 : to_json(), json_build_object(), json_object() and json_build_array(), 
// though it's verbose due to the need to name all the fields explicitly:

select
        json_build_object(
                'id', u.id,
                'name', u.name,
                'email', u.email,
                'user_role_id', u.user_role_id,
                'user_role', json_build_object(
                        'id', ur.id,
                        'name', ur.name,
                        'description', ur.description,
                        'duty_id', ur.duty_id,
                        'duty', json_build_object(
                                'id', d.id,
                                'name', d.name
                        )
                )
    )
from users u
inner join user_roles ur on ur.id = u.user_role_id
inner join role_duties d on d.id = ur.duty_id;
Wide-eyed Fox

Odpowiedzi podobne do “PostgreSQL Display subkery jako JSON”

Pytania podobne do “PostgreSQL Display subkery jako JSON”

Więcej pokrewnych odpowiedzi na “PostgreSQL Display subkery jako JSON” w Sql

Przeglądaj popularne odpowiedzi na kod według języka

Przeglądaj inne języki kodu