promotion tableaと aの 2 つのテーブルがあり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これを行う際に、と の2 つの列に一意の値を持つレコードのみを選択したいと考えていますcost。promotion後でそれらの列を削除します。
現在、次のSQLステートメントがあります
INSERT INTO prize(PRIZEID, COST, PRIZENAME)
SELECT r.PRIZEID, r.COST, r.PRIZENAME
FROM PROMOTION r;
しかし、これはすべてのレコードをに挿入しますprize table。selectでdistinctキーワードを使用してandの一意のインスタンスを選択できることを認識していますcostがprizename、私の場合prizeidは常に一意であり、distinctキーワードはselect句のすべての列に適用されるため、役に立ちません。
前もって感謝します!