web-dev-qa-db-fra.com

SQL INSERT INTO avec sous-requête et valeur

Est-il possible d’utiliser une combinaison de valeurs dures et une sous-requête à insérer dans une table avec une seule commande?

Par exemple: 

INSERT INTO suppliers (supplier_id, supplier_name, supplier_type)
SELECT account_no, name
FROM customers
WHERE city = 'San Diego';

J'ai besoin de supplier_type pour être 3. Alors, puis-je faire ce qui suit pour la deuxième ligne?

SELECT account_no, name, supplier_type = 3

type_fournisseur n'est pas dans la table des clients

14
Jaiesh_bhai

Ajoutez-le simplement avec vos champs SELECT.

INSERT INTO suppliers (supplier_id, supplier_name, supplier_type)
SELECT account_no, name, 3 AS supplier_type
FROM customers
WHERE city = 'San Diego';
16
Kermit

Encore plus simple, il suffit de renseigner le champ avec la valeur, même pas besoin d’un AS

INSERT INTO suppliers (supplier_id, supplier_name, supplier_type)
SELECT account_no, name, 3
FROM customers
WHERE city = 'San Diego';
1
shkherad