Разпарсить из поля строку, сравнить её значения и записать результат сравнения в другое поле

81
19 июня 2019, 04:10

Есть база данных футбольных матчей с результатами. Например:

------------------------------------------
|team      | team2   | score | add_score |
------------------------------------------
|ManUnited | Chelsia |2:1    |           |
------------------------------------------
|Arsenal   | Everton |1:1    |           |
------------------------------------------
|StockCity |Liverpool|1:3    |           |
------------------------------------------

Следует в поле add_score записать результат: win1, win2 или draw в зависимости от результата. Предполагаю, что можно использовать регулярное выражение - брать первую цифру, брать вторую цифру и сравнивать их, но как это закодить - не знаю. Помогите написать запрос сравнивающий цифры и записывающий в другое поле результат сравнения.

Answer 1
UPDATE cal
SET dop_score = CASE WHEN SUBSTRING_INDEX(score, ':', 1) > SUBSTRING_INDEX(score, ':', -1)
                          THEN 'win1'
                     WHEN SUBSTRING_INDEX(score, ':', 1) < SUBSTRING_INDEX(score, ':', -1)
                          THEN 'win2'
                          ELSE 'draw'
                END
WHERE dop_score IS NULL -- зачем менять уже заполненное?
  AND LOCATE(':', score) -- а вдруг счёт ещё не заполнен?
Answer 2

Написал запрос:

UPDATE `cal` SET dop_score = "win1" WHERE
 CONVERT( SUBSTRING(score, 1, 1), SIGNED ) > CONVERT( SUBSTRING(score, 3, 1), SIGNED )
READ ALSO
MySQL. Как использовать условия в SQL запросе?

MySQL. Как использовать условия в SQL запросе?

Подскажите пожалуйста как использовать условия в SQL запросе?

164
Партицирование таблицы по дате

Партицирование таблицы по дате

Есть таблица с 40+ млн записей, и для быстродействия возникла необходимость ее партицировать по датеПартицирование требует PRIMARY ключ на поле,...

117
Зачем выносить стили в head?

Зачем выносить стили в head?

Знаю что есть такая практика, когда некие части CSS кода выносятся в <head>Я так понимаю, что это на случай если файл стилей не загрузится

117
Круговая диаграмма на чистом css

Круговая диаграмма на чистом css

Можно ли сделать подобную круговую диаграмму, только средствами css?

160