gpt4 book ai didi

mysql - 复制列并编辑表中包含不同条目的一列

转载 作者:行者123 更新时间:2023-11-29 20:44:04 31 4
gpt4 key购买 nike

复制同一个表中的前 2 行并将其与编辑后的列一起插入,如下所示。

Table 1 (ID is auto increment)
ID | CL1 | CL2 | CL3
1 | A | text1 | NULL
2 | B | text2 | NULL

Table 2
ID | CL3
21 | 45
24 | 63

Converted Table 1
ID | CL1 | CL2 | CL3
1 | A | text1 | NULL
2 | B | text2 | NULL
3 | A | text1 | 45
4 | B | text2 | 63

我知道如何复制和插入重复一列的所有行,但更改具有不同值的某些列是问题所在。

下面是复制更改了 1 列的所有字段的查询:

INSERT INTO table1 (col1, col2, col3)
SELECT col1, col2, 1
FROM table1 LIMIT 2;

例如:现在我们有了 table2,其中包含 table1 CL3 的值。现在我们可以从另一个表中获取数据并在复制时插入它们吗?

最佳答案

假设您希望使用另一个表中前 2 行的值更新 1 个表中的前 2 条记录,那么我认为您需要为每个记录添加一个序列号并基于该序列号进行连接。

类似如下,但不会很快!

INSERT INTO table1 (ID, CL1, CL2, CL3)
SELECT NULL, a.CL1, a.CL2, b.CL3
FROM
(
SELECT CL1, CL2, @cnt1:=@cnt1 + 1 AS cnt
FROM table1
CROSS JOIN (SELECT @cnt1:=0) sub0
ORDER BY ID
LIMIT 2
) a
INNER JOIN
(
SELECT CL3, @cnt2:=@cnt2 + 1 AS cnt
FROM table2
CROSS JOIN (SELECT @cnt2:=0) sub0
ORDER BY ID
LIMIT 2
) b
ON a.cnt = b.cnt

关于mysql - 复制列并编辑表中包含不同条目的一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38500791/

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