日期:2014-05-18  浏览次数:20451 次

号码反选
有表字段F1,F2,F3字段的值由A,B,C组成
例如
ID F1 F2 F3  
1 A B C
2 A A B
...

现将记录的号码进行反选,如:A就反选为BC,B反选就为AC,C反选就为AB。
所以表中的记录就变成了:
ID F1 F2 F3  
1 BC AC AB
2 BC BC AC
...

如何实现

------解决方案--------------------
CASE或者IF
------解决方案--------------------
SQL code
select id, F1=REPLACE('ABC',F1,''), F2=REPLACE('ABC',F2,''), F3=REPLACE('ABC',F3,'')
from (
    select id=1, F1='A', F2='B', F3='C'
    union all
    select 2, 'A','A','B'
) a