gpt4 book ai didi

SQL根据具有不同条件的两行选择结果

转载 作者:行者123 更新时间:2023-12-04 01:29:40 25 4
gpt4 key购买 nike

我正在尝试获取结果,我想在其中检查是否存在两行是否存在公共(public) ForeignKeyId 并在两行上添加检查。

假设我在下面有一个表格 - 'Test1'

A    B    C    D                               'Test2'
1 33 x NULL Result Id
2 33 NULL y Result1 33
3 44 x NULL Result2 44
4 44 NULL z Result3 55
5 55 x NULL

我想从 Test2 表中获取结果,其中 Test1 应包含两行,其中 C = x 和 D <> NULL。

因此,select 查询应该返回 Result1 和 Result2,而不是 Result3

我试过:

select Result
from Test2
inner join Test1 on Test2.Id = Test1.A
where
(select Count(*) from Test1 where C = 'x') = 1 AND
(select Count(*) from Test1 where D IS NOT NULL) = 1;

最佳答案

要比较不同行中的相同值,可以使用自连接。本例中有两个Test1表,第一个(Tc)匹配C条件,第二个Td匹配D 标准。

SELECT Result,Tc.B
FROM Test1 Tc
JOIN Test1 Td
ON Tc.B=Td.B
JOIN Test2
ON Td.B=Test2.Id
WHERE
Tc.C = 'x'
AND Td.D IS NOT NULL

关于SQL根据具有不同条件的两行选择结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61284645/

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