匹配数据

时间:2009-07-19 16:23:51

标签: mysql

非常感谢任何帮助。

我有这张桌子医院 护士|沃德|医生
A001 | W2 | DR1
A001 | W2 | DR2
F002 | W2 | DR1
F005 | W2 | DR1
F005 | W2 | DR2
J003 | W4 | DR5

我要做的是显示Ward 2上的护士使用的内容 医生1但不是医生2

我想要的答案是F002 | W2因为她在病房2和医生1一起工作但是 不是医生2.

我已经尝试了很长时间才能让它发挥作用 - 任何帮助都会很棒。

表中没有NULL条目。

1 个答案:

答案 0 :(得分:4)

不清楚是否要

  1. 排除与医生合作的护士 2在其他病房,或
  2. 仅在护士2与2号医生合作时才排除护士,
  3. 如果是前者:

       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')