gpt4 book ai didi

mysql - 如何从一个表列中获取值,将它们与字符串连接并将它们插入到另一个表中?

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

如何:

  1. 从 table1.column1 获取值(例如 abc)

    table1.column1=abc

  2. 将它们与某些固定字符串连接起来,例如

    xxx
    yyy
    zzz

  3. 将结果作为单独的行插入到 table2.column2 中。最终结果应该是具有如下值的行:

    table2.column2=abc_xxx
    table2.column2=abc_yyy
    table2.column2=abc_zzz

(table2 有一个连接列,指示 table2.column2 记录对应的 ID,以防万一)

  1. table1.column1 中具有 table1.item_id > 100
  2. 的所有记录重复此过程

编辑:为了方便起见,我希望最终结果行序列如下所示:

source1_xxx
来源 1_yyy
source1_zzz
来源 2_xxx
来源 2_yyy
source2_zzz

而不是:

source1_xxx
来源 2_xxx
来源 1_yyy
来源 2_yyy
source1_zzz
source2_zzz

最佳答案

如果我没理解错的话,您需要为表 1 中的每个现有行添加 N(例如 3)个条目。如果是这样,您可以 CROSS JOIN Table1 到值的投影,如下所示:

INSERT INTO Table2(column2)
SELECT CONCAT(t1.column1, '_', x.col)
FROM Table1 t1
CROSS JOIN
(SELECT 'xxx' AS col
UNION
SELECT 'yyy'
UNION
SELECT 'zzz') x;

SqlFiddle here

编辑

查询已更新,以了解排序和过滤要求:

INSERT INTO Table2(column2)
SELECT CONCAT(t1.column1, '_', x.col)
FROM Table1 t1
CROSS JOIN
(SELECT 'xxx' AS col
UNION
SELECT 'yyy'
UNION
SELECT 'zzz') x
WHERE t1.ID > 100
ORDER BY t1.column1 ASC, x.col ASC;

With an updated SqlFiddle

关于mysql - 如何从一个表列中获取值,将它们与字符串连接并将它们插入到另一个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29467803/

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