Пример таблицыИспользование SQL для создавать текстовые
--------------------------- --------
| id | user | num | type | ---> Want to get | name |
--------------------------- --------
| 5 | 1 | 2 | Q | | Q2A |
--------------------------- --------
| 10 | 1 | 2 | Q | | Q2B |
--------------------------- --------
| 11 | 1 | 2 | Q | | Q2C |
--------------------------- --------
| 12 | 2 | 2 | Q | | Q2A |
--------------------------- --------
| 14 | 1 | 3 | R | | R3A |
--------------------------- --------
| 17 | 2 | 3 | R | | R3A |
--------------------------- --------
Пояснение
У меня есть простой схемы базы данных, как показано на рисунке слева. Мне нужно использовать SQL для генерации данного столбца имени на основе значений. Я уже понял, как CONCAT(type,num)
, но я не понимаю, как создать правильное письмо. Я знаю, что в SQL это возможно, потому что я давно что-то сделал.
Схема нумерации Для каждого пользователя, так как больше строк с одинаковым num
и type
найдены, буквы должны прогрессировать от A-Z. Там никогда не будет больше, чем 26, так что дело не в этом.
Я думаю, что я могу сначала сгенерировать числа (т.е. 1,2,3 вместо A, B, C), а затем сделать что-то по линиям SELECT 1 FROM [A..Z]
, Я просто не уверен, как это сделать в MySQL.
UPDATE
If I can get from here: To:
--------------------------- --------------
| id | user | num | type | | name | seq |
--------------------------- --------------
| 5 | 1 | 2 | Q | | Q2 | 1 |
--------------------------- --------------
| 10 | 1 | 2 | Q | | Q2 | 2 |
--------------------------- --------------
| 11 | 1 | 2 | Q | | Q2 | 3 |
--------------------------- --------------
| 12 | 2 | 2 | Q | | Q2 | 1 |
--------------------------- --------------
| 14 | 1 | 3 | R | | R3 | 1 |
--------------------------- --------------
| 17 | 2 | 3 | R | | R3 | 1 |
--------------------------- --------------
Then its just a simple matter of using CHAR()
Можете ли вы предоставить больше данных образца? Будете ли вы также иметь Q3A, B и C? –
Какова логика назначения буквы? Это не очевидно из вашего примера. –
'| 11 | 1 | 2 | Q | | Q3A | '??? – SparKot