在SQL里建立的表能否 横着 查询
建立的表每一列都具有相同的属性,对于一个元组需要从第一列查找到最后一列,有这样的语句吗?
char char char char
1 A B C F
2 F D E G
3 W E D F
例如上面的表,要找F,在每一列出现的位置,横着能查找吗??
------解决方案--------------------id,c1 c2 c3 c4
1 A B C F
2 F D E G
3 W E D F
select from
(
select c1,id from tb
union all
select c2 c1,id from tb
union all
select c3 c1,id from tb
union all
select c4 c1,id from tb
) t
where c1 = 'F '
------解决方案--------------------能,当然能
select 'F第一次出现的列 '=charindex( 'F ',c1+c2+c3+c4) from tb
-------
c1 c2 c3 c4
1 A B C F
2 F D E G
3 W E D F