首页 文章

在Oracle SQL Query - VBA中加入(INNER JOIN)本地Excel表

提问于
浏览
0

我无法通过Excel VBA while 在远程Oracle SQL Server上执行查询,尝试使用 local table in a Excel file sheet 在同一查询中执行INNER JOIN . 例:

  • 带有本地表的Excel表 ["LTE_Cells$LTE_Cells_Tmp"]

Sheet“LTE_Cells”

Oracle SQL查询

SELECT  a.STARTDATE, a.ENODEB, a.EUTRANCELLFDD, (a.COUNTER_1/8/1024)+
a.COUNTER2/8/1024) AS Total_Total_Traffic_TB FROM »»»LOCAL_EXCEL_TABLE«««« 
INNER JOIN REMOTE_DATABASE.LTE_KPI_1 a ON  
((»»»LOCAL_EXCEL_TABLE««««.EUTRANCELLFDD = 
REMOTE_DATABASE.LTE_KPI_1.EUTRANCELLFDD) AND  
(»»»LOCAL_EXCEL_TABLE««««.ENODEB = REMOTE_DATABASE.LTE_KPI_1.ENODEB)) WHERE 
(((REMOTE_DATABASE.LTE_KPI_1.STARTDATE)>=sysdate-3));`

在此先感谢您的帮助!

1 回答

  • 0

    这不能直接回答你的问题,我可能会对此感到茫然,但我不知道Excel或Oracle是否明确地处理了你想要完成的任务 .

    但是,MS Access将开箱即用 . 简短回答:我认为您使用错误的工具完成此任务 . 你正在使用众所周知的锤子将一块板子看成一半 . 将电子表格和Oracle表链接为Excel中的链接对象,您的查询应该很容易实现 .

    更长的答案:虽然Access可以简单轻松地实现这一点,但它可能并且可能会在DBMS上留下破坏的路径 . 具体来说,您可以期望在Oracle中破坏共享池,因为Access将为Excel中的每一行发出一个查询(使用文字,不能少) . 对于1,000行,它可能并不重要,但是如果你要在非常大的数据集上执行此操作,那么你将从DBA中成为一个快速的敌人 .

    扩展答案:实际上,最好的方法是在Oracle表中加载这些Excel电子表格的内容,让DBMS完成繁重工作 . 这是RDBMS的面包和黄油 .

相关问题