2015-08-05 5 views
0

У меня есть таблица с несколькими результатами из разных лет. Мой первый год - мой год принятия решения (все годы после этого соответствуют первому году). И мой столбец первого года находится в порядке убывания по счету результата. Это пример того, как выглядит мой стол.Изменить результаты запроса по столбцу в mysql

+----+------+-------+------+------+ 
| ID | Year | ID2 |Year1 |Year2 | 
+----+------+-------+------+------+ 
| 1 | 1 | 12 |B  |  | 
| 1 | 1 | 13 |B  |  | 
| 1 | 1 | 22 |A  |  | 
| 1 | 2 | 12 |  |B  | 
| 1 | 2 | 15 |  |A  | 
| 1 | 2 | 17 |  |C  | 
| 1 | 2 | 25 |  |C  | 
| 1 | 2 | 30 |  |D  | 
+----+------+-------+------+------+ 

Столбцы Year1 и Year2 должны быть изменены на номера. Первый результат будет 1 (так, B повернется к 1), а второй будет равен 2 (так, A повернется к 2) и так далее.

Столбец Year1 - это основная колонка, которая решит, что будет в колонке Year2. Это означает, что результаты в столбце Year2 получат результаты из столбца Year1 (B = 1, A = 2), но после ввода нового результата результат будет увеличиваться на 1 (C будет 3, а D будет 4)

Стол должен выглядеть так.

+----+------+-------+------+------+ 
| ID | Year | ID2 |Year1 |Year2 | 
+----+------+-------+------+------+ 
| 1 | 1 | 12 |1  |  | 
| 1 | 1 | 13 |1  |  | 
| 1 | 1 | 22 |2  |  | 
| 1 | 2 | 12 |  |1  | 
| 1 | 2 | 15 |  |2  | 
| 1 | 2 | 17 |  |3  | 
| 1 | 2 | 25 |  |3  | 
| 1 | 2 | 30 |  |4  | 
+----+------+-------+------+------+ 

Плюс, колонны идут до Year10 и столбцы ID, Year и ID2 не создать ключ.

Любые идеи помогут на этом этапе. Спасибо за помощь!

ответ

0

Грубый способ сделать это - это делать каждый год данные в отдельных временных таблицах.

Затем создайте другой набор временных таблиц, чтобы определить нумерацию букв, используя что-то вроде row_number().

Обновите свои письма цифрами.

И, наконец, объединить их вместе.