我有一个场景,我想在表中选择一组记录,然后基于第二次选择将新记录从第一次选择写入表中。
我希望从中选择然后写入的表是:
子弹 -------- ID 产品代码 catalogue_category_id 子弹文本 排序序列
注意 id 是键,是一个自动递增的整数
我选择的记录如下:
SELECT product_code, catalogue_category_id, bullet_text, sort_sequence
FROM bullets
WHERE product_code = '10001'
对于这个产品,这给出了 4 行,项目符号的数量可能因一种产品而异。结果是:
10001, , 测试要点 - 10001, 10001, , 第二个要点, 10001, , 第三个要点, 10001, , 第 4 子弹,
在这种情况下,catalogue_category_id 和 sort_sequence 为空,但情况并非总是如此。
然后我想选择一些产品代码并编写,在这种情况下,每个项目符号点有 4 条记录。
获取产品代码列表的第二个选择语句是
SELECT product_code
FROM master
WHERE product_group = '1'
AND product_code != '10001'
这会返回 17 个产品代码,但可能会更少或更多,具体取决于所选的 product_group。
新记录将包括:
id - 这将自动递增 product_code - 这将是第二个 select 语句中的新产品代码 catalogue_category_id - 这将是从第一个 select 语句中选择的数据 bullet_text - 这将是从第一个 select 语句中选择的数据 sort_sequence - 这将是从第一个 select 语句中选择的数据
所以在这个例子中,我将总共 68 条新记录写入项目符号,17 个产品代码中的每一个都有 4 个。
我认为我需要一个存储过程来执行此操作,但已经搜索并且无法围绕我查看的结果进行搜索。非常感谢任何帮助。
68 条记录将作为新记录写入项目符号表。所选记录可能填充了四个字段的全部或任意组合:
product_code、catalogue_category_id、bullet_text、sort_sequence
本质上,我希望复制选定的记录,但 id 和产品代码除外。例如说我有 3 个产品代码,
10002、10003 和 10004
使用我的第二个 select 语句返回,然后我将获得 12 条新记录,3 组 4 组几乎与我的第一个 SELECT 语句中的初始 4 条相同,ID 将自动递增,产品代码将为 L
前 4 条新记录为 10002 10003 用于接下来的 4 条新记录 最后 4 个为 10004
我将编写为每个字段选择的任何内容。使用您的示例,其中选择的 4 条记录中有 2 条在 catalogue_category_id 字段中具有数据,那么 68 条新记录中的 34 条将在 catalogue_category_id 字段中具有数据。