我有一个名为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
非常感谢你们所有的帮助!
答案 0 :(得分:0)
你可以尝试:
nditer
可能需要一些优化才能很好地处理大量数据。