简体   繁体   English

将两个SQL查询合并为一个

[英]Combine two SQL queries into one

Please forgive me if this appears a bit vague and if my terminologies are incorrect. 如果这看起来有点含糊,如果我的用语不正确,请原谅我。 I'm an associate/junior level network engineer with very limited SQL querying experience. 我是一名初级/初级网络工程师,具有非常有限的SQL查询经验。 With that aside here is what I'm dealing with; 除了这些,我正在处理的是什么?

I'm trying to create a filter in Goldmine (CMS/CRM) that filters results by the variables specified below. 我正在尝试在Goldmine(CMS / CRM)中创建一个过滤器,该过滤器通过下面指定的变量过滤结果。

WHERE c1.U_COMPANY > ' ' AND  c1.U_CONTACT > ' ' AND  
     (c1.U_COUNTRY <> 'SOUTH AFRICA') AND  
     (c1.U_CONTACT NOT LIKE '%MANAGER%' OR c1.U_CONTACT IS NULL) AND     
     (c1.U_KEY1 NOT LIKE '%ARCHIVE%' OR c1.U_KEY1 IS NULL) AND 
     (c1.U_KEY1 NOT LIKE '%DOCUMENT%' OR c1.U_KEY1 IS NULL) AND 
     (c1.U_KEY1 NOT LIKE '%SUPPLIER%' OR c1.U_KEY1 IS NULL) AND  
     (c1.U_KEY1 NOT LIKE '%OTHER%' OR c1.U_KEY1 IS NULL) AND
     (c1.U_KEY1 NOT LIKE '%TENANT%' OR c1.U_KEY1 IS NULL)

I need to incorporate the following but have no idea where it is safe to the expression to the above. 我需要合并以下内容,但不知道上面的表达在哪里比较安全。

SELECT C1.*
FROM FMBSM.DBO.CONTACT1 C1
INNER JOIN (
    SELECT DISTINCT ACCOUNTNO
    FROM FMBSM.DBO.CONTSUPP
    WHERE (
            CONTSUPP.RECTYPE = 'P'
            AND CONTSUPP.CONTACT = 'E-mail Address'
            )
    ) CS
    ON CS.AccountNo = C1.AccountNo
ORDER BY C1.CONTACT

Any advice will be greatly appreciated. 任何建议将不胜感激。

Thanks, 谢谢,

Rob

I believe it should be fine to put it at the end, before the ORDER BY , where a WHERE clause is normally placed: 我认为应该将其放在通常放置WHERE子句的ORDER BY之前的末尾:

SELECT C1.*
FROM FMBSM.DBO.CONTACT1 C1
INNER JOIN (
    SELECT DISTINCT ACCOUNTNO
    FROM FMBSM.DBO.CONTSUPP
    WHERE (
            CONTSUPP.RECTYPE = 'P'
            AND CONTSUPP.CONTACT = 'E-mail Address'
            )
    ) CS
    ON CS.AccountNo = C1.AccountNo
WHERE c1.U_COMPANY > ' ' AND  c1.U_CONTACT > ' ' AND  
     (c1.U_COUNTRY <> 'SOUTH AFRICA') AND  
     (c1.U_CONTACT NOT LIKE '%MANAGER%' OR c1.U_CONTACT IS NULL) AND     
     (c1.U_KEY1 NOT LIKE '%ARCHIVE%' OR c1.U_KEY1 IS NULL) AND 
     (c1.U_KEY1 NOT LIKE '%DOCUMENT%' OR c1.U_KEY1 IS NULL) AND 
     (c1.U_KEY1 NOT LIKE '%SUPPLIER%' OR c1.U_KEY1 IS NULL) AND  
     (c1.U_KEY1 NOT LIKE '%OTHER%' OR c1.U_KEY1 IS NULL) AND
     (c1.U_KEY1 NOT LIKE '%TENANT%' OR c1.U_KEY1 IS NULL)
ORDER BY C1.CONTACT

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM