【发布时间】:2018-02-24 17:51:00
【问题描述】:
我无法理解此操作所需的逻辑。我有多个帐户每月运行的数据。我想使用 SQL Server 2016 指定输出在短时间内忽略某些帐户。
我想排除 2017-09-14 14:30 和 2017-09-14 15:30 之间的所有数据,但仅限编号为 310722 310820 106758 310169 的帐户,但我想包含来自这些帐户(以及所有其他帐户)在所有其他时间。
我试过了
WHERE
([start time] NOT BETWEEN 2017-09-14 14:30 and 2017-09-14 15:30 AND Account NOT IN ( 310722, 310820, 106758, 310169,) )
但这样剪裁太多了。 NOT 和 AND 逻辑把我弄乱了。谁能帮忙?
编辑:
显然我的问题不清楚。道歉。我在附加示例数据时遇到了一些麻烦,但以下是我的最大努力。
Start Time Type Connected (secs) Account
13/09/2017 00:02:13 Normal operator call 20 141475
13/09/2017 00:02:15 Normal operator call 59 310523
13/09/2017 00:03:42 Normal operator call 83 833694
我想包含在特定时间不在特定帐户中的所有数据。也许维恩图会有所帮助
蓝色区域是我不想要所有其他数据,包括在其他时间提到的帐户以及在提到的时间我想要保留的所有其他帐户。
如果有人有更详细的建议来让这个问题变得不那么可怕,我会很感激他们。 :)
【问题讨论】:
-
blog.codinghorror.com/rubber-duck-problem-solving 还有人发布了意大利面条 dba 链接。
-
能否提供一些示例数据和输出?目前还不清楚逻辑应该如何工作。
标签: sql sql-server logical-operators