我有两张桌子, 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 table到prize table. 在这样做时,我只想选择那些在两列中具有唯一值的记录,即prizename和cost。之后我将删除这些列promotion。
现在我有以下sql语句
INSERT INTO prize(PRIZEID, COST, PRIZENAME)
SELECT r.PRIZEID, r.COST, r.PRIZENAME
FROM PROMOTION r;
但这会将所有记录插入到prize table. 我意识到我可以在 select 中使用 distinct 关键字来选择和的唯一实例,cost但prizename在我的情况下,prizeid它将始终是唯一的,并且由于该distinct关键字适用于 select 子句中的所有列,因此无济于事。
提前致谢!