寻找丢失的条目

时间:2016-01-28 17:37:14

标签: sql tsql

我有一个有4列的数据表;用户名,标志,代码和唯一参考

现在,Unique Ref就像一个引用产品的代码。有一个列表。每个用户都应该有权访问该唯一引用。因此,如果有100个唯一参考的JSMITH04在此表中会出现100次,并且他将为每个参考设置唯一的参考设置。

现在让我们说另一个名为DAVIDMI09的人在表中只有50条记录(这意味着他没有分配给他的所有100个唯一参考号)。我怎样才能找到他没有分配给他的唯一参考?在TSQL中执行此操作的最佳方法是什么?

Username    Flag    Code    Unique Ref
JSMITH04    Z   T   12459/43454

由于

1 个答案:

答案 0 :(得分:0)

只需选择用户没有的,您可以使用除外:

SELECT DISTINCT [Unique Ref]
FROM TABLE_NAME
EXCEPT
SELECT DISTINCT [Unique Ref]
FROM TABLE_NAME
WHERE USERNAME == 'DAVIDMI09'

或者您可以使用NOT IN

SELECT DISTINCT [Unique Ref]
FROM TABLE_NAME
WHERE [Unique Ref] NOT IN (
  SELECT [Unique Ref]
  FROM TABLE_NAME
  WHERE USERNAME == 'DAVIDMI09'
)