多个WHERE查询消除数据?

时间:2014-08-22 22:28:23

标签: sql sqlite

我需要帮助创建一个大型查询来选择数据子集。

在进行分析之前,我需要过滤掉某些信息。首先,我选择任何到达我的程序的电话。然后我需要过滤掉所有的假/测试电话。然后我需要消除不合格的调用,这些调用取决于一些因素,例如,如果所有者或发件人列是特定名称,或者如果调用类型是两个选项之一,则创建者列是特定标识。这对我来说非常复杂..希望有人可以提供帮助。

SELECT * FROM Table1
WHERE CustomerID IN (SELECT CustomerID FROM Table1
    WHERE SiteID
    IN ('Site1', 'Site2'))
WHERE CustomerID <> (108 different values)
   AND OwnerID <> (A)
   AND SenderID <> (A)
   AND CreatorID <> (A) but ONLY if CallType <> CallType1 or CallType2;

1 个答案:

答案 0 :(得分:1)

SELECT * 
FROM Table1
WHERE CustomerID IN (
       SELECT CustomerID 
       FROM Table1
       WHERE SiteID IN ('Site1', 'Site2'))
AND CustomerID not in (108 different values)
AND OwnerID <> (A)
AND SenderID <> (A)
AND not ( CreatorID = (A) and
            CallType in ( CallType1, CallType2 ) )