【问题标题】:How to copy only one date column from one table to another如何仅将一个日期列从一个表复制到另一个
【发布时间】:2021-12-14 06:25:59
【问题描述】:

我正在尝试使用来自另一个表的输入来INSERT INTO 一个表。例如:
Table A 包含项目和项目描述详细信息,但它只包含到 2021 年 12 月。
Table B 包含日期值。

我只需将日期列从Table B 复制到Table A 并且项目详细信息可以为未来日期的空。

我使用下面的格式插入数据

 INSERT INTO TABLE A
                  ( DATE
                  , CL 1
                  , CL 2
                  , CL 3
                  , CL 4
                  , CL 5)

SELECT date , 0,0,0,0,0
FROM TABLE B;

期望:需要将日期列从表 B 复制到表 A 以获取特定日期范围,即。在 SYSDATE 和 2023 年 4 月之间 由于没有主键,我们无法连接这两个表。

请提出一个解决方案,将未来日期从TABLE B 复制到TABLE A,而不使用连接。

【问题讨论】:

    标签: sql oracle plsql


    【解决方案1】:

    这里需要WHERE 子句吗:

    INSERT INTO TABLE A ("DATE", CL1, CL2, CL3, CL4, CL5)
    SELECT "date", 0, 0, 0, 0, 0
    FROM TABLE B
    WHERE "date" >= SYSDATE AND "date" < date '2023-05-01';
    

    【讨论】:

    • 感谢您的回复。在这种情况下,我们所指的日期来自特定时间范围的不同表。只有我们从表 B 中复制的零值。例如:INSERT INTO TABLE A ("DATE", CL1, CL2, CL3, CL4, CL5) SELECT "(date from TABLE X)", 0, 0, 0, 0 , 0 来自表 B
    • Menon,我建议您编辑您发布的原始问题并提供示例数据 - 您拥有什么,以及您希望得到什么。到目前为止你描述它的方式是无法理解的(至少对我来说不是。根据你的评论,蒂姆也没有明白)。
    猜你喜欢
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 2012-08-12
    • 2012-07-21
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多