Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        6年前关闭。
                                                                                            
                
        
我有一个这样的表:

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


我正在尝试仅检索具有得分对于第8个月的产品b,计数= 2。

我正在尝试对记录 2的键进行Null约束的自我联接。但是它仍然返回我的前两行,这是我不想要的。

最佳答案

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的任何行”

10-05 22:56
查看更多