作者:侯贵聪_680 | 来源:互联网 | 2022-12-10 12:33
我有一张桌子:
人
是PersonID
名称
电话1
电话2
FAX1
FAX2
我有这样的记录:
SELECT * FROM Person
1 Test 0123 NULL 0123
2 Test2 NULL 567 789 NULL
3 Test3 0123 NULL NULL 0123
4 Test4 0123 5555 NULL
(结果有NULL但也有EMPTY字符串)
我想要选择所有有效数字(每个可用数字的多个记录):
1 Test 0123
1 Test 0123
2 Test 567
2 Test 789
这可能吗?我选择每个可用值的所有列,并将值存储在最后一列?
1> Gordon Linof..:
一种简单的方法用于apply
:
select p.personid, p.name, v.contact_number
from person p cross apply
(values (phone1), (phone2), (fax1), (fax2)) v(contact_number)
where v.contact_number is not null;