j'ai une table qui a deux colonnes, je voudrais remplir l'une des colonnes en sélectionnant d'autres données de colonne de table, mais comment puis-je remplir la colonne suivante parce que je ne peux pas utiliser VALUE Voici le code
INSERT INTO Numbers(number, val) SELECT LaptopID FROM Laptop WHERE Laptop.Pid = 2
comme vous pouvez le voir la colonne "val" laissée vide, comment puis-je remplir cela?
Utilisez NULL
si la colonne le permet:
INSERT INTO Numbers(number, val)
SELECT LaptopID, NULL
FROM Laptop WHERE Laptop.Pid = 2
Ou utilisez la valeur souhaitée (codée en dur) souhaitée.
Si nombre:
INSERT INTO Numbers(number, val)
SELECT LaptopID, 2
FROM Laptop WHERE Laptop.Pid = 2
ou si texte:
INSERT INTO Numbers(number, val)
SELECT LaptopID, 'val'
FROM Laptop WHERE Laptop.Pid = 2
Si vous n'avez pas de valeur correspondante, vous devez entrer un nombre; alors vous pouvez simplement mettre zéro ou NULL:
Quelque chose comme ça ---
INSERT INTO numbers (number, val)
SELECT NULL, laptopid
FROM laptop
WHERE laptop.pid = 2
SQLCE ne prend pas en charge la mise à jour de tables multiples, etc., donc j’ai utilisé la méthode suivante
SELECT Laptop.LaptopID, Table2.val FROM Laptop, Table2 WHERE
Laptop.Pid = 2 or where laptop.pid= table2.pid
puis en vrac insérer en utilisant http://sqlcebulkcopy.codeplex.com/
j'espère que ça aide :)
IMHO, vous avez besoin d'un INNER JOIN avec cette autre table, quelque chose comme ceci:
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
Vous l'ajouteriez en tant qu'argument sur le SELECT. Par exemple:
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';
Je souhaite ajouter une donnée dans une colonne en référence à une autre colonne du même tableau.