gpt4 book ai didi

mysql - 显示 2 个其他表的相交表中的相应数据

转载 作者:行者123 更新时间:2023-11-29 16:40:57 24 4
gpt4 key购买 nike

很抱歉在描述标题中的上下文时遇到困难。我的情况是有3张 table

T1

A|B
1|xyz
2|www
3|abc
4|ppp
5|iuy

T2

A|C 
1|1
1|2
2|3
2|4
3|5
4|6
5|7
5|8

T3

C| D |E
1|dfg|NULL
2|jhg|1
3|bnm|NULL
4|lpo|NULL
5|tyu|NULL
6|qrt|2
7|bet|3
8|dsf|4

查询的目的是在t2条件下显示B及其对应的D。A的E值应至少有1个对应的C值不为NULL

我在显示带有 null 的 C 时遇到了困难,而实际上,当 A 的条件在整个图片中匹配时,应该包含它,通过包含另一个非空 C 来使 A 成为合法结果。

在上述条件下,期望的A应该是1,4,5,并且希望根据t2中与C的关系显示其对应的B以及期望的A的所有D。

A2 和 A3 是不需要的,因为它们对应的 C 的 E 都是 null,而我想要的是至少 1 个 E 包含一个值。

想要的输出应该是

 B | D
xyz|dfg
xyz|jhg
ppp|qrt
iuy|bet
iuy|dsf

希望有人能理解。

最佳答案

我发现这个问题有点难以理解,但如果我理解正确的话,你需要某种exists子句:

select t2.b, t3.d
from t1 join
t2
on t1.a = t2.a join
t3
on t3.c = t2.c
where exists (select 1
from t2 tt2 join
t3 tt3
on tt2.c = tt3.c
where t2.a = t1.a and t3.e is not null
);

关于mysql - 显示 2 个其他表的相交表中的相应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53351515/

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