【发布时间】:2020-10-10 04:00:49
【问题描述】:
给定表 A 的列:ColA1、ColA2、ColA3
还有一个带有列的表 B:ColB1
我想根据表B中的数据限制可以从表A返回的数据,比如:
ColA1 not in ColB1
理想情况下,以某种方式将 SQL 查询与 select 语句结合到过滤器中
【问题讨论】:
给定表 A 的列:ColA1、ColA2、ColA3
还有一个带有列的表 B:ColB1
我想根据表B中的数据限制可以从表A返回的数据,比如:
ColA1 not in ColB1
理想情况下,以某种方式将 SQL 查询与 select 语句结合到过滤器中
【问题讨论】:
你想要的是
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
【讨论】:
不存在可能就是你要找的东西
试试这样的
select * from TableA as T1
where not exists
(select * from TableB as T2
where t1.key1 = t2.key1 and T1.key2 = t2.key2)
【讨论】: