mysql - 为表 B 中的每个不同值在表 A 中创建行

标签 mysql sql select distinct sql-insert

我有表 A,其中包含 ID 和 proposalID。表 B 也有一个 proposalID。我想要做的是针对表 B 中的每个不同的提案 ID,我想在表 A 中创建一个具有相同提案 ID 和新 ID 的新行。

因此表 A 具有这些不同的提案 ID:

94CAEF39-855B-4B5C-9534-9D4AD0A75FC8
C1D87317-7028-4F69-91D4-FFFBB35E7ACD
807D7733-5CCF-486F-81E5-FFF153307C22
521E22E2-511E-46F2-AA46-FFF832367A9E

我现在想要表B有的是:

ID: new uniqueidentifier, proposalID: 94CAEF39-855B-4B5C-9534-9D4AD0A75FC8
ID: new uniqueidentifier, proposalID: C1D87317-7028-4F69-91D4-FFFBB35E7ACD
ID: new uniqueidentifier, proposalID: 807D7733-5CCF-486F-81E5-FFF153307C22
ID: new uniqueidentifier, proposalID: 521E22E2-511E-46F2-AA46-FFF832367A9E

我还在学习 sql,不知道如何处理这个问题。我知道如何获取所有不同的提案 ID,但之后我就不知道了。

最佳答案

这个怎么样?

insert into A(id, proposal)
    select uuid(), proposal
    from (select distinct proposal
          from b
         ) b;

但是,为表 A 使用自动递增的 id 不是更简单吗?然后 id 会在您插入新值时自行设置。

关于mysql - 为表 B 中的每个不同值在表 A 中创建行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29437106/

相关文章:

SQL( Access )其中日期在不同日期字段的 6 个月内

php - SQLSTATE[23000] : Integrity constraint violation: 1048 Column 'post' cannot be null

php - 语法错误或访问冲突 1064 php pdo

php - 如何从 Controller 获取两个对象结果以在 Laravel5 中查看

sql - PostgreSQL:选择单行 x 次

php - 如何在 Mac OS X Snow Leopard 上启用 mysqli?

ruby-on-rails - Rails 日期选择选项?

android - SQLite 子查询不工作

mysql - 迁移以创建表引发 Mysql2::Error: 表不存在

php - CodeIgniter 没有正确插入 sql 数据