2つの列を持つテーブルがあり、他のテーブルの列データを選択して1つの列に入力しますが、次の列に入力するにはどうすればよいですか。VALUEを使用できません。これがコードです
INSERT INTO Numbers(number, val) SELECT LaptopID FROM Laptop WHERE Laptop.Pid = 2
「val」列が空のままになっているのがわかるように、どうすればそれを埋めることができますか?
2つの列を持つテーブルがあり、他のテーブルの列データを選択して1つの列に入力しますが、次の列に入力するにはどうすればよいですか。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
数値に入れる必要のある対応する値がない場合。次に、ゼロまたはNULLを入力できます。
このような何か---
INSERT INTO numbers (number, val)
SELECT NULL, laptopid
FROM laptop
WHERE laptop.pid = 2
SELECTの引数として追加します。例えば:
INSERT INTO Numbers(number, val)
SELECT LaptopID, 'val'
FROM Laptop
WHERE Laptop.Pid = 2
私見、あなたは他のテーブルとの内部結合が必要です、このようなもの:
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
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 answer(userans) VALUES(OptionA) Select username From answer WHERE username= 'Name';
同じテーブル内の別の列を参照して、ある列にデータを追加したいと思います。