2013-05-07 6 views
1

Я хочу назвать псевдоним столбца на основе значения столбца в mysql. Это возможно?Динамический псевдоним столбца на основе значения столбца

Нечто подобное;

select 
    case when answer_type = 'RB' then 
    answer_type as 'radio' 
else 
    answer_type as 'evrything_else' 
end case 
from XTable 
+0

вам нужно создать динамический запрос, если вы хотите иметь динамический псевдоним. –

ответ

1

Нет, это невозможно в чистом SQL. Вероятно, вам придется запрашивать данные, а затем обрабатывать их в любом приложении, выполняющем запрос.

1
select if(answer_type="RB",true,NULL) as radio, 
if(answer_type != ="RB",true,NULL) as everything_else 
from XTable; 

Вы должны разделить их, когда вы получите таблицу для результата, где имена или псевдонимы из выбранного являются метками столбца. Этот метод позволяет вам проверить значение радио (и значение all_else), которое возвращается.

То, что вы пытаетесь сделать, видите, нет никакого способа, чтобы сделать работу заголовка столбца:

id | radio MAGICAL OR everytning_else | 
1 | RB        | 
2 | NOT_RB       | 

Что мой метод будет делать для вас:

id | radio | everything_else | 
1 | true | NULL   | 
2 | NULL | true   | 
+0

Да, я знаю об этом решении. Но мне было интересно, как это сделать в одной колонке –

0

выберите, если (answer_type = «RB», «радио», если (answer_type! = «RB», «everything_else», NULL)) как answer_type из XTable;

Смежные вопросы