gpt4 book ai didi

c# - 使用单个查询仅选择不匹配项(仅限连接)

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:34 25 4
gpt4 key购买 nike

我在 SQL Server (T-SQL) 中有一个非常简单的多对多表结构(见下文)。

我需要:

  • 选择所有没有关联人员的工作
  • 选择仅与不可见和/或已删除人员相关的所有职位
  • 选择所有已删除的作业。

所有这些都应该返回一个结果表

这在单个仅连接查询中是否可能(不使用 IN/NOT IN、嵌套选择、联合或临时表等)?

架构:

  ID
IsVisible
IsDeleted

PersonJobs

  PersonID
JobID

工作

  ID
IsDeleted

我应该能够单独执行每个查询,然后在代码中连接数据集,但我很好奇是否有使用连接来执行此操作的更简单方法。

如果准确的话,伪代码也可以作为响应。

谢谢!

最佳答案

尝试

select j.*
from personjobs pj
full join jobs j on pj.jobid = j.id
full join person p on pj.personid = p.id
where pj.personid is null
or p.isdeleted = 1
or p.isvisible = 0
or j.isdeleted = 1

关于c# - 使用单个查询仅选择不匹配项(仅限连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19599372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com