【发布时间】:2017-01-01 02:49:55
【问题描述】:
我正在尝试构建一个查询来为我提供一些信息,以便对两个表进行内部连接,tableA 和 tableB。它们的外观如下:
表A:
ClientID RevNo RevPurp
------------------------------
123 4557 1
124 4555 1
123 6574 2
123 7857 3
124 8987 2
表B:
RevNo ClientID Active
------------------- -------------
4557 123 True
6574 123 True
7857 123 True
8987 124 True
4555 124 True
这就是我想要做的。我正在努力...
Select Distinct ClientID
From TableB
Inner Join TableA On tableB.RevNo = tblB.RevNo
Where RevPurp is not 3.
RevPurp 可以是 1,2,3 - 我只是想选择那些可以有 1,2 但不能有 3 的不同客户端。
查看表中的数据,我应该只有 1 条记录....
124
因为客户端 123 具有 RevPurp 3。因此,如果客户端具有 RevPurp 3,我不想在执行查询时看到该客户端!
编辑 - 我在表 B 中添加了一个名为 ACTIVE 的字段。进行查询时,我需要确保 Active = True!
【问题讨论】:
-
我看不到 TableB 的用途。你可以从TableA中得到你需要的结果
-
@devlincarnate 我需要使用该表,因为那是我的 WHERE 过滤器所在的位置。
-
@Bobski:
where过滤器是什么?您在TableB上没有任何信息。除非你遗漏了一些细节。 -
这些表明显不完整,字段比较多,需要Select from TableB和inner Join TableA——后面会加过滤器。
-
嗯,这并不明显。请输入足够的信息以便我们了解完整的问题,或者至少输入足够的部分以便我们了解问题。
标签: sql sql-server-2008 select inner-join distinct