【问题标题】:Insert into the same table using distinct column使用不同的列插入到同一个表中
【发布时间】:2013-12-23 00:00:44
【问题描述】:

以这张表为例:

TBL_TEST

FIELD_A    |    FIELD_B    |    FIELD_C   |
AAA        |     124       |      12      |
BBB        |     457       |      12      |
CCC        |     347       |      12      |
AAA        |     990       |      13      |
BBB        |     387       |      13      |
CCC        |     213       |      13      |

我需要在FIELD_C 上为每个不同的现有FIELD_A 插入一个14FIELD_B 是一个静态值,例如 888

我需要这个最终结果:

TBL_TEST

FIELD_A    |    FIELD_B    |    FIELD_C   |
AAA        |     124       |      12      |
BBB        |     457       |      12      |
CCC        |     347       |      12      |
AAA        |     990       |      13      |
BBB        |     387       |      13      |
CCC        |     213       |      13      |
AAA        |     888       |      14      |
BBB        |     888       |      14      |
CCC        |     888       |      14      |

我尝试过这样的事情:

INSERT INTO TBL_TEST(FIELD_A,FIELD_B,FIELD_C)
SELECT DISTINCT(FIELD_A),888,14) FROM TBL_TEST

但它没有用。

【问题讨论】:

  • dstinctNOT 一个函数。它总是对选择列表的所有列进行操作。
  • 请告诉我们您正在使用哪个 DBMS。后格雷斯?甲骨文?
  • 查看这篇文章,对你也有帮助:stackoverflow.com/questions/19014183/…

标签: sql distinct sql-insert


【解决方案1】:
INSERT INTO TBL_TEST(FIELD_A,FIELD_B,FIELD_C)
SELECT DISTINCT FIELD_A ,888,14 FROM TBL_TEST

还请确保没有重复的密钥。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-12
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多