很抱歉在描述标题中的上下文时遇到困难。我的情况是有三张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应至少有1个对应的c值,以使其e值不为null
我很难用null表示一个c,而实际上,当a的条件通过组成另一个非null的c来匹配整个图时,它应该被包括进来,从而得到一个合法的结果。
在上述条件下,期望的a应该是1、4、5,并且希望显示其对应的b和t2中与c的关系中期望a的所有d。
a2和a3是不需要的,因为它们对应的e和c都是空的,我想要的是至少有1个e包含一个值。
想要的输出应该是
B | D
xyz|dfg
xyz|jhg
ppp|qrt
iuy|bet
iuy|dsf
我希望有人能理解。
3条答案
按热度按时间pgpifvop1#
你能试试这个查询吗
此查询是根据上面显示的输出进行的。但如果e不为null,则必须添加到查询中:
希望这能对ypu有所帮助。
wgx48brx2#
我觉得这个问题有点难理解,但如果我理解正确的话,你想问一些问题
exists
条款:tct7dpnv3#
或者用它来代替
COUNT(E) >=1
或者COUNT(E) >0
```SUM(CASE WHEN registration_number IS NOT NULL THEN 1 ELSE 0 END) > 0)