我可以在一个带有临时表和诸如此类的丑陋存储过程中执行此操作,但我知道有经验的开发人员可以比我想出的更优雅。事实上,我根本不需要调用sproc,但只需要一个查询就能满足我的需求。
我正在使用两张桌子:
T1有两个与此任务相关的字段 -
每个WBS1都会有许多PKeys。
T2只有一个感兴趣的领域
我正在尝试解决的任务是在我启用导入之前,在T1中创建一个WBS1列表,其中包含所有需要的指令。
我们只想在T2中找到该WBS1的所有PKeys时导入WBS1。如果没有,我会让他们变灰。
我已经尝试了十几种不同的方法来在过去的几个小时内实现这一点,而且我似乎有一种精神障碍。伪代码看起来像这样:
select T1.WBS1 from BillingDirectiveNeeded T1
where [all the T1.PKeys for T1.WBS1 can be found in BillingDirectives T2]
答案 0 :(得分:2)
您可以尝试使用Where Exists
子句:
Select T1.WBS1
From BillingDirectiveNeeded T1
Where Exists
(
Select 1
From BillingDirectives T2
Where T2.PKey = T1.PKey
)
答案 1 :(得分:1)
select DISTINCT T1.WBS1 from BillingDirectiveNeeded T1 where T1.PKey in (SELECT T2.PKey FROM BillingDirectives T2)