在这里的任何帮助将不胜感激。

我有这家表医院

护士|病房|医生
A001 | W2 | DR1
A001 | W2 | DR2
F002 | W2 | DR1
F005 | W2 | DR1
F005 | W2 | DR2
J003 | W4 | DR5

我要做的是显示Ward 2上的Nurse的工作方式
医生1但不是医生2

我想得到的答案是F002 | W2,因为她在1号医生的2号病房工作,但
不是医生2。

我已经尝试了很长时间才能使它正常工作-任何帮助都是无聊的。

表中没有NULL条目。

最佳答案

不清楚是否要


排除与医生一起工作的护士
其他病房2
仅在与病房2的2号医生一起工作时才排除护士


如果是前者:

   Select Nurse From Table T
   Where Ward = 'W2'
      And Doctor = 'DR1'
      And Not Exists (Select * From Table
                      Where Nurse = T.Nurse
                          And Doctor = 'DR2')


如果是后者,

   Select Nurse From Table T
   Where Ward = 'W2'
      And Doctor = 'DR1'
      And Not Exists (Select * From Table
                      Where Nurse = T.Nurse
                          And Ward = 'W2'
                          And Doctor = 'DR2')

关于mysql - 匹配数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1150253/

10-13 09:21