比如说,我的数据表如下
视图名称  列名01     列名02    列名03   列名04    列名05    列名06 ……
视图A       X         X         X         X         X         X  
视图B       X         YY        X         X         X         X
视图C       X         X         X         YY        X         X
视图D       X         X         X         X         X         X
……我现在想查找出所有包含列名“YY”的视图,那么请问SQL语句该怎么写?数据表中用X代表我不需要查找的列名,有YY代表我需要查找的列名。

解决方案 »

  1.   

    select * from tb where 列名01 = 'YY' or 列名02 = 'YY' ...
      

  2.   

    如果不愿意如上一个一个写,就使用系统表,去组成动态SQL来查询.
      

  3.   

    select 视图名称 from tb where charindex(',YY,',','+列名1+','+列名2=','+列名3+','+列名4+','+......)>0
      

  4.   

    select 视图名称 from tb where charindex(',YY,',','+列名1+','+列名2=','+列名3+','+列名4+','+......+',')>0
      

  5.   

    一看到charindex(','+'a'+',',',a,ab,c,')就倍感亲切哈.
    这个条件匹配在程序里面特别适用.