我数据库中的一个表是这样的
我知道subject1~~到subject6的一个值,我想查出我知道的这个值在那行,也就是id是多少。
比如说,我知道的是14,我想查出3来。该怎么做呢,各位大神帮帮忙。数据库

解决方案 »

  1.   

    按照你的例子,SQL语言如下:
    use 你的数据库逻辑名
    select id from 这张表名 where subject3=14
      

  2.   

    如果你不知道14是哪个字段的,你还想查询ID,SQL如下:
    use 你的数据库逻辑名
    select id from 这张表名 where subject1=14 or subject2=14 or subject3=14 or subject4=14 or subject5=14 or subject6=14
      

  3.   

    不太理解你的意思,我理解的意思为:DECLARE @id INTSELECT  @id = id
    FROM    表名
    WHERE   subject1 = '14'
            OR subject2 = '14'
            OR subject3 = '14'
            OR subject4 = '14'
            OR subject5 = '14'
            OR subject6 = '14'
    SELECT  @id 
      

  4.   


    declare @sql varchar(4000)
    declare @int varchar(1000)
    set @int=21  --定义你想知道的数
    select @sql=ISNULL(@sql,'')+'select id from 表名 where '+a.name+' ='+@int + ' union all '
    from sys.columns a,sys.tables b where a.object_id=b.object_id and b.name='表名' and a.name!='id'
    select @sql=LEFT(@sql,LEN(@sql)-10)
    exec (@sql)动态的方法...
      

  5.   

     SELECT    id FROM    表名WHERE   subject1 = '14'        OR subject2 = '14'        OR subject3 = '14'        OR subject4 = '14'        OR subject5 = '14'        OR subject6 = '14'