Я почти уверен, что видел это где-то, но не могу найти правильную терминологию, поэтому у меня проблемы ...
Допустим, у меня есть таблица с пользовательской информацией (также предположим, что она была создана кем-то, кому платят больше, чем мне, поэтому изменение схемы не вариант). Среди различных столбцов пользовательской информации есть столбцы для DOB. и должность. Я хочу запрос, который, основываясь на том, что находится в этих столбцах, будет включать дополнительный столбец с именем "Real_Title", например:
User_id Job_Title DOB
joe_1 manager 01/01/1950
jim_1 associate 01/01/1970
jill_1 associate 01/01/1985
jane_1 manager 01/01/1975
запрос:
SELECT User_id, Real_Title FROM users
IF (YEAR(DOB) < 1980 AND Job_Title = "manager")
{Real_Title = "Old Fart"}
ELSE IF (YEAR(DOB) < 1980 AND Job_Title = "associate")
{Real_Title = "Old Timer"}
ELSE IF (YEAR(DOB) > 1980 AND Job_Title = "manager")
{Real_Title = "Eager Beaver"}
ELSE IF (YEAR(DOB) > 1980 AND Job_Title = "associate")
{Real_Title = "Slacker"}
Я знаю, что вышеупомянутое не только неправильно, но и закодировано действительно неэффективно, но я хотел донести идею до конца.
Есть ли способ без использования объединений заполнить столбец на основе информации в одном или нескольких других столбцах той же таблицы?
В настоящее время я использую что-то в скрипте PHP после получения результатов, чтобы распределить эти результаты по группам, которые я хочу, но если это можно сделать в запросе, это значительно усложнит перенос запроса на другие скрипты и языки. легче.
Спасибо!