SQL表搜索

时间:2011-07-18 09:47:36

标签: sql

我是SQL的新手,只是想知道如果表中的某个值只有在符合某个条件时我才会这样做。

我有一个看起来如下的表(抱歉垃圾格式化)

COL1 - COL2

 1   -  3  
 1   -  2 
 2   -  2
 3   -  3
 3   -  4

我想从COL1获取值,但前提是它们在COL2中没有特定值。

因此,例如,如果我不想要COL2为3的值,那么从COL1返回的唯一值将是2.

感谢您的帮助

为了澄清,两列只存储引用其他表的id。我只希望COL1中的值不引用COL2中的特定值。

所以当我看到我不想要COL2等于3的值时,这意味着COL1中的值'1'将不会返回,因为第1行COL2是3而3不会返回COL1因为在第4行COL2等于3

2 个答案:

答案 0 :(得分:3)

我认为你会找到类似的东西。

select COL1
from TABLE_FOO
where  COL1 not in (
  select COL1
  from TABLE_FOO
  where COL2 = 3
)

答案 1 :(得分:0)

我认为具体值是指在col2中只有一个对应值的记录。 2-2是特定的,因为它具有特定值。

通过具有计数(col2)>的col1从c组中选择col1。 1

上面的查询给出了没有特定值的所有col1值。