J'apprécierais vraiment votre aide.
C'est probablement un problème assez simple à résoudre - mais je ne suis pas celui-là .. ;-)
J'ai deux tables dans SQL Server:
Maintenant, je veux sélectionner un certain ensemble d'identifiants et insérer quelques entrées dans la table des prix avec ces identifiants.
par exemple. (SQL incorrect et ne fonctionne pas)
INSERT INTO prices (group, id, price)
VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
Erreur SQL -> la sous-requête a plus d'une valeur
merci pour l'aide
Tu veux:
insert into prices (group, id, price)
select
7, articleId, 1.50
from article where name like 'ABC%';
où vous venez de coder en dur les champs constants.
Essaye ça:
INSERT INTO prices (
group,
id,
price
)
SELECT
7,
articleId,
1.50
FROM
article
WHERE
name LIKE 'ABC%';
Si vous insérez un enregistrement dans votre table, vous pouvez faire
INSERT INTO yourTable
VALUES(value1, value2)
Mais puisque vous souhaitez insérer plusieurs enregistrements, vous pouvez utiliser un SELECT FROM
dans votre instruction SQL.
alors vous voudrez faire ceci:
INSERT INTO prices (group, id, price)
SELECT 7, articleId, 1.50
from article
WHERE name LIKE 'ABC%'
INSERT INTO prices (group, id, price)
SELECT 7, articleId, 1.50 FROM article WHERE name LIKE 'ABC%'
la sous-requête ressemble à
insert into table_name (col1,col2,....) values (select col1,col2,... FROM table_2 ...)
espérons que cette aide
INSERT INTO prices(group, id, price)
SELECT 7, articleId, 1.50
FROM article where name like 'ABC%';