SQL将表中的行插入到表中,该表必须具有2个不同的列,但也必须具有一个非不同的列

麦克风

我有两个表,apromotion table和a prize table

CREATE TABLE PRIZE(
     PRIZEID INT NOT NULL PRIMARY KEY,
     COST DOUBLE NOT NULL,
     PRIZENAME VARCHAR(100) NOT NULL,
)

CREATE TABLE PROMOTION (
     PROMOTIONID    INTEGER NOT NULL,
     LEVEL  INTEGER NOT NULL,
     AMOUNT NOT NULL,
     COST   DOUBLE  NOT NULL    DEFAULT 0,
     PRIZENAME  VARCHAR(100)    NOT NULL    DEFAULT ' ',
     PRIZEID    INTEGER
) 

prize table目前是空的,我想从复制记录promotion tableprize table在执行此操作时,我只想选择在两列中具有唯一值的记录,这些记录具有theprizename和the cost之后,我将删除这些列promotion

现在我有以下sql语句

INSERT INTO prize(PRIZEID, COST, PRIZENAME)
SELECT r.PRIZEID, r.COST, r.PRIZENAME 
FROM PROMOTION r;

但这会将所有记录插入prize table我知道我可以用不同的关键字选择,选择的唯一实例costprizename,但在我的情况下,prizeid将永远是独特的,因为distinct关键字适用于所有列在SELECT子句中它不会帮助。

提前致谢!

云隧道

您只需PRIZEID要用新值替换值即可。因为听起来您当前在PROMOTION上有重复项

首先,将所有不同的PRIZENAMEs和COSTs添加到新PRIZE表中:

INSERT INTO prize(PRIZEID, COST, PRIZENAME)
SELECT DISTINCT (SELECT MAX(PRIZEID)+1 FROM PRIZE), r.COST, r.PRIZENAME 
FROM PROMOTION r;

然后PROMOTION使用新的更新您的s表PRIZEID

UPDATE PROMOTION R
SET R.PRIZEID = 
   (SELECT P.PRIZEID 
    FROM PRIZE 
    WHERE P.PRIZENAME=R.PRIZENAME
    AND P.COST=R.COST);

然后,我认为您可以从那里安全地从PROMOTIONs表中删除列

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用SQL将具有不同选择条件的多列插入到另一个表中

来自分类Dev

将数据库中一个表中的特定行插入到另一个具有不同列的表中

来自分类Dev

将具有 2 个不同值的行复制到同一个表中

来自分类Dev

将具有标准值的另一个表的列中的所有记录插入到表中

来自分类Dev

SQL Server:查询以将数据从具有不同结构的另一个表插入表中

来自分类Dev

将一个表插入另一个具有不同字段的表中

来自分类Dev

将一个表插入另一个具有不同字段的表中

来自分类Dev

SQL Server:将行复制并插入到同一表中,但具有不同的ID

来自分类Dev

SQL Server:将行复制并插入到同一表中,但具有不同的ID

来自分类Dev

SQL 连接 2 个具有不同列的表

来自分类Dev

MySQL,从表中获取具有2个不同列的最新日期的行

来自分类Dev

MySQL,从表中获取具有2个不同列的最新日期的行

来自分类Dev

如何将具有不同列数的行从一个表复制到另一表

来自分类Dev

将具有相同列值的特定数量的记录插入到不同的表中

来自分类Dev

如何将列中具有特定值的行复制到另一个工作表?

来自分类Dev

在一个语句中基于另一个表中的不同列创建具有新列的表

来自分类Dev

两个具有不同列的表的SQL联合

来自分类Dev

将一个表中的多个列复制到具有额外列的另一个表中

来自分类Dev

SQLite:从一个表中选择所有具有与不同表中 ID 匹配的 ID 的行

来自分类Dev

将一个表复制到另一个具有不同结构的表

来自分类Dev

合并两个表中具有不同列的行?

来自分类Dev

如何将两个不同的表中的两个选择语句显示到具有列的单个表中

来自分类Dev

如何对一个具有两个独立表中的行的表执行批量SQL插入

来自分类Dev

在一列中连接具有不同值的两个表

来自分类Dev

Matlab从另一个具有不同维度的表向表中添加行

来自分类Dev

将SQLite表中的某些数据复制到具有不同两列的同一表中

来自分类Dev

列中具有不同值时如何联接2个表

来自分类Dev

连接两个表-一个具有不同值的公用列

来自分类Dev

oracle 将两个不同表中的记录插入到一个表中

Related 相关文章

  1. 1

    如何使用SQL将具有不同选择条件的多列插入到另一个表中

  2. 2

    将数据库中一个表中的特定行插入到另一个具有不同列的表中

  3. 3

    将具有 2 个不同值的行复制到同一个表中

  4. 4

    将具有标准值的另一个表的列中的所有记录插入到表中

  5. 5

    SQL Server:查询以将数据从具有不同结构的另一个表插入表中

  6. 6

    将一个表插入另一个具有不同字段的表中

  7. 7

    将一个表插入另一个具有不同字段的表中

  8. 8

    SQL Server:将行复制并插入到同一表中,但具有不同的ID

  9. 9

    SQL Server:将行复制并插入到同一表中,但具有不同的ID

  10. 10

    SQL 连接 2 个具有不同列的表

  11. 11

    MySQL,从表中获取具有2个不同列的最新日期的行

  12. 12

    MySQL,从表中获取具有2个不同列的最新日期的行

  13. 13

    如何将具有不同列数的行从一个表复制到另一表

  14. 14

    将具有相同列值的特定数量的记录插入到不同的表中

  15. 15

    如何将列中具有特定值的行复制到另一个工作表?

  16. 16

    在一个语句中基于另一个表中的不同列创建具有新列的表

  17. 17

    两个具有不同列的表的SQL联合

  18. 18

    将一个表中的多个列复制到具有额外列的另一个表中

  19. 19

    SQLite:从一个表中选择所有具有与不同表中 ID 匹配的 ID 的行

  20. 20

    将一个表复制到另一个具有不同结构的表

  21. 21

    合并两个表中具有不同列的行?

  22. 22

    如何将两个不同的表中的两个选择语句显示到具有列的单个表中

  23. 23

    如何对一个具有两个独立表中的行的表执行批量SQL插入

  24. 24

    在一列中连接具有不同值的两个表

  25. 25

    Matlab从另一个具有不同维度的表向表中添加行

  26. 26

    将SQLite表中的某些数据复制到具有不同两列的同一表中

  27. 27

    列中具有不同值时如何联接2个表

  28. 28

    连接两个表-一个具有不同值的公用列

  29. 29

    oracle 将两个不同表中的记录插入到一个表中

热门标签

归档