ScenarioCome inserire record in SQL con valori cercati?
ho bisogno di aggiornare un database SQL 2008 giornalmente tramite un foglio di calcolo (l'unica opzione disponibile). Il formato è piuttosto semplice, tuttavia ci sono potenzialmente milioni di record. Column1 e Column3 avranno molti valori duplicati predefiniti, già estratti in tabelle separate.
foglio elettronico Esempio di configurazione
Column1 Column2 Column3
Apple 10 Red
Apple 20 Red
Apple 15 Blue
Apple 21 Green
Orange 10 Orange
Orange 7 Orange
Orange 9 Red
Orange 70 Blue
Orange 10 Blue
DB
mio database è configurato con tre tavoli separati:
//Lookup_Column1
id type
1 Apple
2 Orange
//Lookup_Column3
id type
1 Red
2 Blue
3 Green
4 Orange
//Main - this is what should be inserted, after Column1
//and Column2 are matched to their respective ID's
key Column1 Column2 Column3
1 1 10 1
2 1 20 1
3 1 15 2
4 1 21 3
5 2 10 4
6 2 7 4
7 2 9 1
8 2 70 2
9 2 10 2
Domanda
Come posso scrivere l'SQL per inserire record che corrispondono alle informazioni delle tabelle di ricerca? Come posso andare da questo:
INSERT INTO Main(Column1, Column2) VALUES ('Apple', 10, 'Red');
A tal:
INSERT INTO Main(Column1, Column2) VALUES (1, 10, 1);
//pulled from lookup tables, where Apple = 1 and Red = 1
Come pensate di portare i dati del foglio di calcolo in sql-server? –