【问题标题】:Insert using selecting column from other table使用从其他表中选择列插入
【发布时间】:2021-01-09 22:03:26
【问题描述】:

我有如下三张表

我想在表 2 中插入 dep_typ 列作为从表 1 中选择的列。

但是表 2 中的 dep_typ 将所有 4 个值都作为“U”,而在表 1 中它是“U”的 3 倍和“F”的 1 倍。我希望结果与表 1 相同。

【问题讨论】:

  • 那么如何确定 table1 中的哪一行供 7314 使用?还是您期望 table2 中有 5 行?您需要编辑问题并解释您尝试应用的逻辑和预期输出

标签: sql sql-insert oracle12c insert-select select-insert


【解决方案1】:

以下内容会将来自 t1 的 dep_type 值与来自 t2 的记录连接起来。您的数据样本没有任何匹配的 ex_line t1 和 t2 共有的值。整个数据集都是这样吗?如果整个数据集都不是真的,那么@OldProgrammer 是正确的 - 连接不会返回 t1 中的确切记录数。

SELECT
    t1.position,
    t1.ss_id,
    t2.ex_line,
    t1.dep_Typ,
    t1.num
FROM
    t1
       INNER JOIN
          t2
             ON t1.position = t2.position
             AND t1.ss_id = t2.ss_id
                INNER JOIN
                    t3
                         ON t1.ss_id = t3.ss_id
                         AND t1.value = t3.value
                         AND t2.vech_num = t3.vech_num
;

【讨论】:

    猜你喜欢
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多