【发布时间】:2021-03-04 00:03:45
【问题描述】:
我似乎有一个相对简单的任务要做,但是我的 SQL 知识有限,我的 google fu 对我来说失败了。尽管我可以通过编写 powershell 脚本或使用 notepad++ 来解决它,但我对如何使用 SQL 实现这一点非常感兴趣,特别是如果表变得非常大并且解决方法不是很可行没有了。
简单来说,我有两张表:
价格
| Productname | Customer_ID | price1 | price2 | price3 | price4 |
|---|---|---|---|---|---|
| A | 1 | 10 | 11 | 12 | 13 |
| B | 1 | 99 | 100 | 101 | 102 |
| C | 1 | 48 | 49 | 50 | 51 |
| D | 1 | 2 | 3 | 4 | 5 |
| E | 1 | 89 | 90 | 91 | 92 |
客户
| Name | ID | Customer_Group |
|---|---|---|
| B | 2 | ABC |
| C | 3 | ABC |
| D | 4 | ABC |
| E | 5 | ABC |
| F | 6 | ABC |
现在我想将 Customer_ID = 1 的价格表中的 5 行复制(即插入)回 Customer_Group = ABC 的客户表中每个客户的价格表。每次复制这5行时,我还需要将字段Customer_ID设置为customers表查询返回的ID。
所以价格表如下所示:
| Productname | Customer_ID | price1 | price2 | price3 | price4 |
|---|---|---|---|---|---|
| A | 1 | 10 | 11 | 12 | 13 |
| B | 1 | 99 | 100 | 101 | 102 |
| C | 1 | 48 | 49 | 50 | 51 |
| D | 1 | 2 | 3 | 4 | 5 |
| E | 1 | 89 | 90 | 91 | 92 |
| A | 2 | 10 | 11 | 12 | 13 |
| B | 2 | 99 | 100 | 101 | 102 |
| C | 2 | 48 | 49 | 50 | 51 |
| D | 2 | 2 | 3 | 4 | 5 |
| E | 2 | 89 | 90 | 91 | 92 |
| A | 3 | 10 | 11 | 12 | 13 |
| B | 3 | 99 | 100 | 101 | 102 |
| C | 3 | 48 | 49 | 50 | 51 |
| D | 3 | 2 | 3 | 4 | 5 |
| E | 3 | 89 | 90 | 91 | 92 |
(等等)
【问题讨论】:
-
到目前为止您尝试过什么?你的表结构是什么?如果没有实际的表结构(带有数据类型/等),我们无法给出最佳查询。
-
客户 ID 2 和 3 的值来自哪里?它们不在您的示例数据中,只有客户 1 是。
-
@Larnu,客户 ID 2、3 等的值需要从客户 1 复制。
标签: sql sql-server