SQL-Stmt,其中依赖项与TBL1或TBL2匹配

时间:2014-07-07 09:32:39

标签: sql join

。 HI SQL-Gurus; - )

我希望你能帮我一个SQL语句:

我想要的很简单:

以下表格:

  • 人(名字,姓氏等)
  • Associate(user_id)
  • 预约(约会总共有1名员工)
  • 联络(每个联系人有1名员工)

我需要一份声明,该声明仅授予我有一个或多个约会或/或有一个或多个联系人的同事(人)。 反过来说:我不需要列出那些不会出现在两个表格之一中的员工。

到目前为止看起来像这样:

SELECT 

    firstname,
    lastname,
    IIf (PERSON.firstname = '', PERSON.lastname, PERSON.lastname +  ', ' + PERSON.firstname) AS fullname 

FROM 

    SOBA_LIVE.crm7.PERSON 
    INNER JOIN 
        SOBA_LIVE.crm7.ASSOCIATE ASSOCIATE ON PERSON.person_id=ASSOCIATE.person_id
        LEFT OUTER JOIN SOBA_LIVE.crm7.ASSOCIATE ON APPOINTMENT.associate_id=ASSOCIATE.associate_id
        LEFT OUTER JOIN SOBA_LIVE.crm7.ASSOCIATE ON CONTACT.associate_id=ASSOCIATE.associate_id 

WHERE

    ASSOCIATE.person_id <> 0

最后一行&#34; ASSOCIATE.person_ID&lt;&gt; 0&#34;过滤不属于人类的同事; - )

我希望你明白我的意思,可以帮助我。 谢谢到目前为止!

此致 许多

1 个答案:

答案 0 :(得分:0)

在你的&#39;中尝试这样的事情。部分:

where ASSOCIATE.person_id <> 0 and exists
(select a.person_id from appointments a where a.person_id=PERSON.person_id 
union
select b.person_id from contacts c where c.person_id=PERSON.person_id)