我需要從Excel工作表中更新一個SQL表格,每次從製造設備捕獲數據時,我都可以通過創建一個存儲過程來執行此操作,該存儲過程可以使用JScript由捕獲數據並將其寫入Db的程序運行。來自Excel列的SQL更新
我現在能夠查詢Excel工作表並查看我需要的數據,但格式化有點困難,沒有運行查詢來逐行分隔數據行,然後我無法更新想想如何更新它。
查詢針對片:
SELECT Item, L05, L08, L09, SS1, SS2, SS3
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY F8) AS rownumber, F1 AS Item, F2 AS L05, F3 AS L08, 4 AS L09, F5 AS SS1, F6 AS SS2, F7 AS SS3
FROM OpenDataSource('Microsoft.ACE.OLEDB.12.0',
'Data Source="C:\Job.xlsx";Extended Properties="Excel 12.0 XML;HDR=NO";')..."'Job Details$'") AS T2
Where rownumber >= 5 AND rownumber<=8
返回:
Item L05 L08 L09 SS1 SS2 SS3
WO 806314 806334 806618 806314 805886 807031
TE TE2-05712 TE2-04481 TE2-06364 TE2-06345 TE2-06362 TE2-04420
TF TF2-10874 TF2-07754A TF2-14249 tf2-10874 TF2-12635 TF2-12468
Qty 39144 82800 127200 36348 121800 50660
每個設備行是一列,每個數據項是在片材的行,我需要引用的值和更新看起來像這樣的表格:
LINE WO TE TF Qty
Line05 NULL NULL NULL NULL
Line08 NULL NULL NULL NULL
Line09 NULL NULL NULL NULL
SS1 NULL NULL NULL NULL
SS2 NULL NULL NULL NULL
SS3 NULL NULL NULL NULL
理想情況下,由於表單是固定的,我可以引用Excel c在更新聲明中單獨使用,但如果可能的話,我還沒有看到這樣做的方法。
啊,所以你需要創建一個交叉表...如果我正確地記得它不是在sql server中直接做。 –
@BrianDriscoll不能說我曾試過它,但一旦我回來,我會盡快進行調查。 – motoxrdr21