Pardonnez-moi car je suis relativement nouveau pour SQL. Mais j'essaie de prendre des données modifiées à partir d'une requête SELECT sur une table et de l'utiliser pour remplir des données dans une autre table.
SELECT ID FROM TABLE WHERE VALUE=10
Je veux insérer les ID résultants dans une autre table, mais avec des modifications telles que la valeur est:
1stString.ID.2ndString
J'ai trouvé des réponses sur la façon d'utiliser l'ID du SELECT dans l'encart, mais je n'arrive pas à le faire fonctionner lorsque j'essaie de concaténer. Il y a aussi d'autres valeurs que j'insère, mais ce sont des littéraux (j'essaie d'initialiser les paramètres de clé par défaut pour les ID donnés dans un autre tableau.
À l'aide de MS SQL Studio 2008, btw.
INSERT INTO table (field)
SELECT '1stString.' + cast(id as varchar(50)) + '.2ndString'
FROM table2
WHERE id = 10
Modifier - réponse au commentaire: vous êtes sur la bonne voie, mais vous souhaitez sélectionner vos chaînes codées en dur dans votre tableau, comme ceci:
INSERT INTO table1 (field1, field2, field3)
SELECT '1stVal', '2ndVal', '1stString.' + cast(id as varchar(50)) + '.2ndString'
FROM table2
WHERE id = 10
Cela est également illustré dans la réponse de Dustin Laine.
INSERT table1
(
f1, f2, f3, f4
)
SELECT f1, f2, f3, 'defaultval' as f4
FROM table2
WHERE value = 1