我需要通過電子表格(唯一可用的選項)每天更新SQL 2008數據庫。這種格式非常基本,但是可能有數百萬條記錄。 Column1和Column3將具有許多預定義的重複值,已經拉出到單獨的表中。
電子表格樣品
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設置
我的數據庫設置了三個獨立的表:
//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
問題
如何編寫SQL以插入與查找表中的信息匹配的記錄?我怎樣才能從這個去:
INSERT INTO Main(Column1, Column2) VALUES ('Apple', 10, 'Red');
要這樣:
INSERT INTO Main(Column1, Column2) VALUES (1, 10, 1);
//pulled from lookup tables, where Apple = 1 and Red = 1
您打算如何將電子表格數據導入sql-server? –