2013-03-15 68 views
0

我有一个包含一个表的学生:获取动态列值

student_id , prefered_cell , cell_1 , cell_2 , cell_3 

现在下我们首选的单元格值(cell_1,小区2,小区3)

什么是获得的价值的最佳途径mysql中的首选单元格?

那些可用行:

1 , 'cell_1' , '123-321-1231' , '431-2133-321' , '123-123-4111' 
2 , 'cell_2' , '122-333-3333' , '455-123-123' , '123-421-2345' 

,所以我想为学生1和2的首选号码:

将获得:

1 , '123-321-1231' 
2 , '455-123-123' 
+1

请张贴一些示例数据和所需的输出。 – 2013-03-15 13:45:24

+0

你的问题还不清楚。 – jcho360 2013-03-15 13:50:37

+0

@ jcho360更新了我的问题 – commandos 2013-03-15 13:51:03

回答

1

尝试此查询。

Select student_id, case when prefered_cell = 'cell_1' then cell_1 
         when prefered_cell = 'cell_2' then cell_2 
         when prefered_cell = 'cell_3' then cell_3 
         else '0' 
         End as cell_value from student 
1

我们在sql.You开关可以使用

select student_id ,case from table_name 

CASE prefered_cell 
    WHEN 'cell_1' THEN 'value is cell_1 ' 
    WHEN 'cell_2' THEN 'value is cell_2' 
    WHEN 'cell_3'= 'cell_3' then cell_3 
    END 
    else '0' 
    End from student