2009-07-21 128 views
0

非常感谢,再次提前。查询问题

我所试图做的是列表中,如果一个机构n使用在医院H2 工程或具有 资格Q3或两者

我有两个表Agency_A &资格

Agency_A  
Nurse  Hospital 
Thomas  H1 
Taylor  H2 
Evans  H3 
Davies  H2 

Qualification 
Nurse  Qualification 
Thomas  Q2 
Taylor  Q3 
Evans  Q4 
Freeman Q3 

所以我'寻找

|TAYLOR |       {as she works in H2 and has qualification Q3} 
|FREEMAN |       {as she has qualification Q3} 
|DAVIES |       {as she works in H2 etc 

任何帮助,这将是伟大的。

回答

3

这应该覆盖它:

SELECT 
    COALESCE(Qualification.Nurse, Agency_A.Nurse) 
FROM (
    SELECT DISTINCT Nurse 
    FROM Agency_A 
    WHERE Hospital = 'H2') Agency_A 
LEFT OUTER JOIN (
    SELECT DISTINCT Nurse 
    FROM Qualification 
    WHERE Qualification = 'Q3') Qualification 
ON Agency_A.Nurse = Qualification.Nurse 

这覆盖的情况下护士是在一个表而不是其他。

+0

嗨,这是一个很大的帮助 - 非常感谢确实 - 再次感谢 – Ben 2009-07-21 15:22:55