gpt4 book ai didi

mysql - 我可以通过一条命令来执行此操作吗?

转载 作者:行者123 更新时间:2023-11-29 14:56:59 25 4
gpt4 key购买 nike

我有两张 table table1table2 。两个表具有相同的结构。它们有 4 列(第一个表中的 x1y1z1w1 ,第二个表中的 x2y2z2w2 )。

我想提取第二个表第一列的值 ( x2 )。流程如下:

  1. 从第二个表中提取 y2=y0 的所有行和w2=w0 .
  2. 对于每个提取的行,取前三列的值( x_iy_iz_i )。
  3. 从第一个表中提取 x1==x_i and y1==y_i and z1==z_i 的所有行(我事先知道将提取 1 行或 0 行)。
  4. 对于提取的行(如果有),检查 w1 列中的值。如果不等于w0添加x_i到列表中。如果没有从第一个表中提取行,还需添加 x_i到列表中。
  5. 对第 1 步中从第二个表中提取的所有行重复此过程。

最后,我想要一个来自 x2 的唯一值列表。 (没有重复)。

我的问题是所描述的过程是否可以通过一个命令执行。

已添加

w0y0是已知且固定的(只是一些固定值)。

最佳答案

您将需要 table1 上的 idColumn 仅有非空值。它将用于测试左连接(代表条件号 3)是否实际产生任何结果。如果表的任何其他列不允许空值,则可以使用它来代替 idColumn。

select distinct t2.x2from table2 as t2left join table1 as t1 on t1.x1 = t2.x2 and t1.y1 = t2.y2 and t1.z1 = t2.z2where t2.y2 = y0 and t2.w2 = w0 and ( t1.w1  w0 or t1.idColumn is null )

关于mysql - 我可以通过一条命令来执行此操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4350242/

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