web-dev-qa-db-fra.com

Insérer dans une colonne en sélectionnant une autre colonne dans un autre tableau, mais comment remplir la deuxième colonne

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?

13
shervin -

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
24
aF.

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
2
Roberto Navarro

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 :)

1
Nitin

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 
1
Nathan

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 
1
Gordon Linoff
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.

0
shivang bhatnagar