我想根據mysql中的列值命名列別名。那可能嗎?基於列值的動態列別名
類似這樣;
select
case when answer_type = 'RB' then
answer_type as 'radio'
else
answer_type as 'evrything_else'
end case
from XTable
我想根據mysql中的列值命名列別名。那可能嗎?基於列值的動態列別名
類似這樣;
select
case when answer_type = 'RB' then
answer_type as 'radio'
else
answer_type as 'evrything_else'
end case
from XTable
不,這在純SQL中不可行。您可能必須查詢數據,然後在執行查詢的任何應用程序中處理它。
select if(answer_type="RB",true,NULL) as radio,
if(answer_type != ="RB",true,NULL) as everything_else
from XTable;
你必須爲你得到結果的表,其中從選擇的名稱或別名是列標籤來分割。這個方法可以讓你檢查返回的radio值(和everything_else的值)。
你正在試圖做的,看有沒有辦法讓列標題的工作是什麼:
id | radio MAGICAL OR everytning_else |
1 | RB |
2 | NOT_RB |
什麼我的方法會爲你做:
id | radio | everything_else |
1 | true | NULL |
2 | NULL | true |
是的,我知道這個解決方案。但我想知道在單欄中做到這一點的方法 – 2013-05-07 16:29:26
選擇,如果(answer_type =作爲來自XTable的answer_type的「RB」,「radio」,if(answer_type!=「RB」,'everything_else',NULL));
如果您想擁有動態別名,則需要創建動態查詢。 – 2013-05-07 16:04:53