Есть 2 таблицы
users:
id SERIAL PRIMARY KEY,
username VARCHAR(40) NOT NULL,
rating INTEGER
и
games:
id SERIAL PRIMARY KEY,
player1id INTEGER NOT NULL,
player2id INTEGER NOT NULL,
score1 INTEGER NOT NULL,
score2 INTEGER NOT NULL
Как правильно организовать связь таблиц? Как сделать запрос возвращающий примерно такую структуру -
[{ gameid,
score1,
score2,
player1: [{ id, username, rating }],
player2: [{ id, username, rating }]
}]
Заранее большое спасибо за помощь!
UPD: решающий задачу запрос (спасибо @chlp) -
SELECT games.*, row_to_json(player1) AS player1, row_to_json(player2) AS player2 FROM games
INNER JOIN users player1 ON (games.player1id = player1.id)
INNER JOIN users player2 ON (games.player2id = player2.id)