Escenario¿Cómo insertar registros en SQL con valores buscados?
necesito actualizar una base de datos SQL 2008 diariamente a través de una hoja de cálculo (la única opción disponible). El formato es bastante básico, sin embargo, hay potencialmente millones de registros. Column1 y Column3 tendrán muchos valores duplicados predefinidos, ya extraídos en tablas separadas.
hoja de cálculo de muestra de configuración
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
Mi base de datos está configurado con tres mesas separadas:
//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
Pregunta
¿Cómo puedo escribir el SQL para insertar registros que coincidan con la información de las tablas de búsqueda? ¿Cómo puedo pasar de esto:
INSERT INTO Main(Column1, Column2) VALUES ('Apple', 10, 'Red');
A esto:
INSERT INTO Main(Column1, Column2) VALUES (1, 10, 1);
//pulled from lookup tables, where Apple = 1 and Red = 1
¿Cómo piensas llevar los datos de la hoja de cálculo al servidor sql? –