私は他のテーブル列データを選択して列の1つを埋める2つの列を持つテーブルを持っていますが、次の列を埋めることができるのでVALUEを使用できません。ここにコードがあります
INSERT INTO Numbers(number, val) SELECT LaptopID FROM Laptop WHERE Laptop.Pid = 2
「val」列が空のままであることがわかるように、どうすればそれを入力できますか?
列で許可されている場合は、NULL
を使用します。
INSERT INTO Numbers(number, val)
SELECT LaptopID, NULL
FROM Laptop WHERE Laptop.Pid = 2
または、目的の(ハードコーディングされた)値を使用します。
番号の場合:
INSERT INTO Numbers(number, val)
SELECT LaptopID, 2
FROM Laptop WHERE Laptop.Pid = 2
またはテキストの場合:
INSERT INTO Numbers(number, val)
SELECT LaptopID, 'val'
FROM Laptop WHERE Laptop.Pid = 2
Numberに入る必要がある対応する値がない場合。次に、ゼロまたはNULLを入力します。
このようなもの---
INSERT INTO numbers (number, val)
SELECT NULL, laptopid
FROM laptop
WHERE laptop.pid = 2
SQLCEは複数テーブルの更新などをサポートしていないため、次の方法を使用しました
SELECT Laptop.LaptopID, Table2.val FROM Laptop, Table2 WHERE
Laptop.Pid = 2 or where laptop.pid= table2.pid
http://sqlcebulkcopy.codeplex.com/ を使用して一括挿入
それが役に立てば幸い :)
私見、あなたは他のテーブルとの内部結合が必要です、このようなもの:
INSERT INTO Numbers(number, val) SELECT L.LaptopID, OT.OTHER_COLUMN FROM Laptop L
INNER JOIN OTHER_TABLE OT ON L.SOME_COLUMN = OT.ANOTHER_SOME_COLUMN
WHERE Laptop.Pid = 2
SELECTの引数として追加します。例えば:
INSERT INTO Numbers(number, val)
SELECT LaptopID, 'val'
FROM Laptop
WHERE Laptop.Pid = 2
INSERT INTO answer(userans) VALUES(OptionA) Select username From answer WHERE username= 'Name';
同じテーブルの別の列を参照して、列にデータを追加したい。