从一列选择电话号码到多列sql

时间:2015-09-23 19:14:33

标签: mysql

我有一个名为phones的表,我需要返回前三个电话号码,并在六个单独的列中为每个c_no返回三种类型,然后加入contacts表。电话桌的布局如此,

p_no,c_no, phone, p_type

我想要的结果集是,

c_no, First_Phone, First_Phone_Type, Second_Phone, Second_Phone_Type, Third_Phone, Third_Phone_Type

我尝试了以下操作,但是当我通过c_no添加组时,它在第二列或第三列中没有显示任何内容

select  c_no,
        (case when cp_sort = 1 and cp_status = 1 then phone end) as Phone_1,
        (case when cp_sort = 2 and cp_status = 1 then phone end) as Phone_2,
        (case when cp_sort = 3 and cp_status = 1 then phone end) as Phone_3
 from   phones cp  
 group by
         c_no

非常感谢你们所有的帮助!

1 个答案:

答案 0 :(得分:0)

你可以尝试:

nditer

可能需要一些优化才能很好地处理大量数据。