2016-12-17 4 views
0

У меня есть 2 таблицыFinding Таблица Таблица в турнире

create table players 
(name text, 
id serial primary key); 

create table matches 
(winner integer references players(id), 
    loser integer references players(id), 
    id serial primary key); 

Я должен сделать стол под названием "зачёт", содержащий:

player_id,player_name,total_wins,total_matches 

Как поступить?

+1

Вы сделать еще создать таблицу заявление ... Неясная, как вы рассчитываете общие победы и потери –

+0

Вы имеете в виду, вы хотите запрос возвращающегося таблицу с этими столбцами и очевидные значения? – philipxy

ответ

0

Что-то вроде этого:

select p.id, p.name, 
     count(w.id) as total_wins, 
     count(l.id) + count(w.id) as total_matches 
from players p 
    left join matches w on w.winner = p.id 
    left join matches l on l.loser = p.id 
group by p.id, p.name; 

Интернет Пример: http://rextester.com/EHDCG19917

 Смежные вопросы

  • Нет связанных вопросов^_^