Редактировать данные во время SQL Запрос без редактирования таблицы перед рукой - PullRequest
0 голосов
/ 12 марта 2020

Я выполняю запрос из Access 2015 (здесь у меня нет выбора) и получаю следующий вывод.

course_id       long_name                         short_name    Class Descriptor    status
0AGR1A          10 AGRICULTURE                        10 AG                          active
0ENG1A          YEAR 10 ENGLISH                       10 ENG                         active
0HPE1A          10 HEALTH & PERSONAL DEVELOPMENT      10 HPE                         active
0SCI1A          10 SCIENCE                            10 SCIENCE                     active
0SCO1A          SAASTA                                                               active

Мне нужно добавить _2020 в конец каждой ячейки в столбец course_id. Таким образом, они будут 0AGR1A_2020 и т. Д.

Я использую следующий запрос для получения этих данных

SELECT SCHOOCD.[Class Number] AS course_id, SCHOOSUB.[Subject Name] AS long_name, SCHOOSUB.[Subject Short Name] AS short_name, SCHOOCDE.[Class Descriptor], "active" AS status
FROM (SCHOOCD INNER JOIN SCHOOSUB ON SCHOOCD.[Subject Code] = SCHOOSUB.[Subject Code]) LEFT JOIN SCHOOCDE ON SCHOOCD.[Class Number] = SCHOOCDE.[Class Number]
WHERE (((SCHOOSUB.[Subject Name])<>"UNAVAILABLE") AND ((SCHOOCD.[Academic Period])=0 Or (SCHOOCD.[Academic Period])=5 Or (SCHOOCD.[Academic Period])=1));

Я понимаю, мне нужно сделать что-то вроде

UPDATE SCHOOCD SET course_id = CONCAT(course_id, '_2020')

Но я не могу заставить его работать. Я супер новичок в SQL, поэтому любые предложения будут приветствоваться.

1 Ответ

0 голосов
/ 12 марта 2020

В Access нет функции concat(). Вместо этого вы можете использовать &:

course_id & "_2020"

Если вы хотите это в своем выражении select:

SELECT SCHOOCD.[Class Number] & "_2020" AS course_id, ...
FROM ...
WHERE ...

Если вы ищете update, это навсегда изменяет значения в таблице:

UPDATE SCHOOCD SET [Class Number] = [Class Number] & "_2020"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...