【问题标题】:How do I insert into table primary keys from two other tables making every combination?如何从其他两个表中插入表主键进行每个组合?
【发布时间】:2018-08-09 23:17:33
【问题描述】:

我使用 MS SQL Server,我有 3 个表,A、B 和 C。A 和 B 都有名为 Id 的列。我想将这些值插入到 C 中,使每个组合,所以假设表 A 有数据:

Id
1
2
3

表B有数据:

Id
4
5

我正在尝试实现表 C 有数据:

Id | A_Id| B_Id
1  |1    | 4
2  |1    | 5
3  |2    | 4
4  |2    | 5
5  |3    | 4
6  |3    | 5

我将非常感谢任何帮助。

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    你需要cross join

    select *
    from tablea a cross join
         tableb b
    order by a.id;
    

    所以,你可以使用insert 声明:

    insert into tablec (A_Id, B_Id)
         select *
         from tablea a cross join
              tableb b
         order by a.id;
    

    【讨论】:

    • 像魅力一样工作。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 2013-07-27
    相关资源
    最近更新 更多