0

给定表 A 的列:ColA1、ColA2、ColA3

还有一个带有列的表 B:ColB1

我想根据表B中的数据来限制可以从表A返回的数据,比如:

ColA1 not in ColB1

理想情况下,以某种方式将 SQL 查询与 select 语句结合到过滤器中

4

2 回答 2

0

不存在可能是您正在寻找的

尝试这样的事情

select * from TableA as T1  
where not exists                                                  
  (select * from TableB as T2         
    where t1.key1 = t2.key1 and T1.key2 = t2.key2)                
于 2020-10-09T20:00:49.750 回答
0

你想要的是

SELECT a.ColA1
, a.ColA2
, a.ColA3

FROM TableA a
  LEFT OUTER JOIN TableB b on b.ColB1 = a.ColA1

WHERE b.ColB1 IS NULL

所以...
Query1 包含 TableA 中的 ColA1、ColA2 和 ColA3。
Query2 包含来自 TableB 的 ColB1。
查询3

  • 在 ColA1 1..1 = 0..1 ColB1 上连接 Query1 和 Query2
  • 数据项:ColA1、ColA2、ColA3
  • 过滤器:ColB1 不为空
于 2020-09-28T15:31:57.580 回答