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

在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