からsubdictに選択します。私はこのようなデータベース構造を有する複数のテーブル
CREATE TABLE person (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER NOT NULL,
hometown_id INTEGER REFERENCES town(id)
);
CREATE TABLE town (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
population INTEGER NOT NULL
);
をそして、私が選択したときに次のような結果を取得したい:
{
"name": "<person.name>",
"age": "<person.age>"
"hometown": {
"name": "<tometown.name>",
"population": "<tometown.population>"
}
}
私はまだ、psycopg2.extras.DictCursor
を使用しています私はSQLのSELECT AS
で遊ぶ必要があると思う。
SELECT
person(name, age),
town(name, population) as town,
FROM person
JOIN town ON town.id = person.hometown_id
これを行うにはどのような方法を、または私は選択してください:ここで
はノーresulltと試みたものの一例ですが、私はそれらのすべてが異なるエラーを上げ、微調整と多くの類似を行ってきましたすべての列を個別に作成し、Python内部でdictを構築しますか?
Postgresのバージョン情報:??
psql (9.4.6, server 9.5.2)
WARNING: psql major version 9.4, server major version 9.5.
Some psql features might not work.
postgresのバージョン.. –
@VaoTsun申し訳ありませんが、更新しました。サーバー '9.5.2'は、Pythonが気にしている唯一のものだと思います。 –
私が思うSQL構文は、" a.name、a.age、b.name、b.populationを人から選択します。 where a.hometown_id = b.id "となります。同様のpostgresの例がここに表示されます:https://www.postgresql.org/docs/8.3/static/tutorial-join.html –