0

我有一张这样的桌子:

Physician_key Product Month Score
  1 a       8     1 
  1 a       8     2 
  1 a       8     3 
  2 b       8     2 
  2 b       8     1

我正在尝试仅检索分数 <= 2 的键的计数,即使键的单个时间分数> 2,我也不想计算键。所以在输出中我想要这样的东西:Count = 2,对于第 8 个月的产品 b。

我正在尝试使用对记录 <=2 和 >2 的键的 Null 约束进行自联接。但它仍然返回我不想要的前 2 行。

4

1 回答 1

0

一个NOT EXISTS子句可能有助于:

SELECT * FROM table t 
WHERE NOT EXISTS (
                 SELECT 1 
                 FROM table tx 
                 WHERE tx.Physician_key = t.Physician_key 
                       AND tx.Product = t.Product 
                       AND Score > 2
                 );

这基本上是说“给我表中的所有行,但排除存在该医生和产品的行且得分 > 2 的任何行”

于 2013-08-07T09:47:33.353 回答