gpt4 book ai didi

java - 连接满足两个表中多个列的多个表

转载 作者:行者123 更新时间:2023-12-01 11:58:18 25 4
gpt4 key购买 nike

我想从两个具有相似列的表中获取数据。

Table A

x y z a b

1 48 36 d5 8d
2 78 36 2t 15
3 99 54 s5 14
4 48 73 58 11



Table B

x y z a b

1 48 95 d9 69
2 98 36 3c vv
3 93 39 df 1bb
4 48 73 58 11

我想在列 y=48,z=73,a=58,b=11 时从表中获取 y,z,b 值。我像这样使用了连接查询,但它不起作用。

Select x,y,z,a,b from A join B in A.y=B.y=48 and A.z=B.z=73 and A.a=B.a=58 and A.b=B.b=11;

你能给我正确的解决方案吗

最佳答案

连接是通过 ON 关键字定义的,而不是使用 IN。您还混合了连接条件和过滤条件。 a=b=x 在 SQL 中不起作用。

您还需要完全限定选择列表中的列,否则您将收到列名称不明确的错误。

Select a.x, a.y, a.z, a.a, a.b 
from A
join B on A.y=B.y
and A.z=B.z
and A.a=B.a
and A.b=B.b
where a.y = 48
and a.z = 73
and a.a = 58
and a.b = 11

您的评论“其中有一个相似的列”似乎表明联接实际上应该仅通过列x完成,而不是基于您想要的所有列过滤:

所以你可能实际上想要:

Select a.x, a.y, a.z, a.a, a.b 
from A
join B on a.x = b.x -- only use `x` for the join condition
where a.y = 48
and a.z = 73
and a.a = 58
and a.b = 11

关于java - 连接满足两个表中多个列的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28188261/

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