gpt4 book ai didi

tsql - T-SQL 仅在表不为空时才加入表

转载 作者:行者123 更新时间:2023-12-05 01:13:03 29 4
gpt4 key购买 nike

我有以下一列(RecordID)的表格:

TableOne
101
102
103
104
105
106

TableTwo
101
102
103
104

并且只有在 TableTwo 不为空时才想在它们之间进行连接。这可以通过示例 IF 语句来完成,但在我的真实情况下,这会导致大量代码重复。

我尝试了以下方法:
SELECT * FROM
TableOne T1
WHERE exists (select 1 from TableTwo where T1.RecordID=RecordID)
and exists (select 1 from TableTwo)

使用此 answer ,但相同的逻辑对我不起作用 - 只有当第二个表不为空时才有效,如果为空,则不返回任何内容。

有谁知道这是否可能?

最佳答案

如果 TableTwo 中没有行,我假设您想全选.您需要一个 ORNOT EXISTS :

SELECT 
T1.*
FROM
TableOne T1
WHERE
EXISTS(SELECT 1 from TableTwo WHERE T1.RecordID=RecordID)
OR NOT EXISTS(SELECT 1 FROM TableTwo)

SQL-Fiddle

关于tsql - T-SQL 仅在表不为空时才加入表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14195117/

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