これが私の質問です:
TRUST(id INT, trustlevel INT)
レコード(1、5)と(2、3)を含むテーブルがあります。ID(1、2、3、4、5)を含む配列もあります。
私が達成したいのは、配列からのすべてのIDをPRESELECTED(id INT, trustlevel INT DEFAULT 10)
、TRUSTにある信頼レベルのIDがコピーされ、配列の残りの部分がデフォルト値である10を受け入れるように呼び出される一時テーブルに挿入することです。この場合。したがって、最後にPRESELECTEDにはレコード(1、5)、(2、3)、(3、10)、(4、10)、(5、10)があります。
TRUSTテーブルから値を配置する方法を理解しましたが、残りの部分で立ち往生しています。
CREATE TEMPORARY TABLE PRESELECTED (id INT, trustlevel INT DEFAULT 10);
INSERT INTO PRESELECTED (
SELECT * FROM TRUST WHERE id IN (1, 2, 3, 4, 5)
)
これに伴う問題は、3、4、および5がTRUSTにないため、1と2のみを挿入することです。
簡単な提案はありますか?