从SQL Result中排除项目

时间:2014-08-15 11:48:37

标签: sql database tsql sql-server-2008-r2

我可能会遗漏一些东西,因为我认为这将是一项简单的任务。

我想检索表3中未包含的结果。

任何帮助?

表1

T1C1  T1C2   

  1     London
  2     New York
  3     Paris
  4     Cardiff  
  5     Bradford
  6     Sydney
  7     Bradford
  8     Beijing
  9     Cairo

表2

T2C1  T2C2   

  A     UK

表3

T3C1  T3C2   

  1     A
  4     A 
  5     A
  7     A

结果

T1C1  T1C2   

  2    New York
  3    Paris
  6    Sydney
  8    Beijing
  9    Cairo

2 个答案:

答案 0 :(得分:3)

  1. select * from Table1 where T1C1 not in (select T3C1 from Table3)
  2. select * from Table1 left join Table2 on T1C1=T3C1 where T3C2 IS NULL
  3. select * from Table1 where not exists (select 1 from Table2 where T1C1=T3C1)(正如Tim Schmelter在评论中所建议的那样)

答案 1 :(得分:1)

你可以使用NOT IN;

SELECT * FROM Table1 WHERE T1C1 NOT IN (
   SELECT T1C1 FROM Table3
)