запрос mysql объединяет две таблицы и отображает спецификацию c второй - PullRequest
0 голосов
/ 13 апреля 2020

Существует основная таблица с именем "tl_game" и вторичная таблица с именем "tl_times"

tl_game: game_id | day

tl_times: times_id| game_id| section_id | time

Для каждой строки игры будет 28 строк в tl_times, связанных (от section_id 1 до section_id 28)

Пример:

tl_game: 
- 1 | 2-2-2020


tl_times:
- 1 | 1 | 1 | 15:00
- 2 | 1 | 2 | 15:10 
- 3 | 1 | 3 | 15:14 
- .....
- 28 | 1 | 28 | 16:18 

Я хотел бы написать запрос, который дает мне каждую игру с разницей во времени между разделом 28 минус раздел 3

результат запроса: 1 | 16:18 - 15: 00

Я написал следующий запрос, который, кажется, работает, но я не знаю, насколько он элегантен. Есть предложения?

    Select p.id,(SELECT tf.time
                 FROM `test-local`.tl_times tf
                 Where tf.game_id = g.id
                 And tf.section_id = 28)
                 -
                (SELECT ti.time
                 FROM `test-local`.tl_times ti
                 Where ti.game_id = g.id
                 And ti.section_id = 3) duration
     From `test-local`.game g

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...