Tag: tsql

Excel运行总计/窗口function

假设我们有一些数据如下 Datetime Type Sale 25/07/2016 03:21 A 12 25/07/2016 04:00 B 23 25/07/2016 15:20 B 5 26/07/2016 05:15 A 15 26/07/2016 10:20 A 3 26/07/2016 16:10 B 20 27/07/2016 10:10 B 5 ……. 问题是“使用Excel查找A类产品总销售量最大的36小时框架”。 从我所了解的情况来看,如果我试图接近它,36小时的框架将意味着每一个条目,我们将从这一点开始看框架。 例如,以第一个条目为起始框架将是25/07/2016 03:21 – > 26/07/2016 15:21,1.5天后,这意味着这个框架的总和是12 + 15 + 3 。 采取任何事后或比正在考虑的条目更快会减less的总和,不是吗? 以每个条目为出发点,你的总和“跨越最远”。 它看起来像SQL中的一个窗口总和给我。 你将如何find一个解决scheme只使用Excel? 如果你可以在SQL中提供解决scheme,那将会很好。 谢谢。

使用SQL Server模拟EXCEL INT到DATE逻辑

我有一个与下面的“更新date”字段的表。 我需要将其转换为YYYY / MM / DD,类似于Excel的逻辑。 该图像显示正确的date和转换它的公式。 如何将这些数字转换为图像中使用SQL显示的相同date? (N14 = 113158)

在从数据库使用ADOB连接来获取数据以获得卓越的同时,通过零错误进行划分

我试图从一个macros调用sql查询并得到除零错误。 当我运行一个小的查询相同的macros的作品。 查询是巨大的,并有多个select语句。 我已经在我的SQL查询中join了“设置Arithabort On”和“设置Arithabort”。 当我使用CopyFromRecordset到电子表格时,macros正在从SQL表生成标题,而不是数据。 请让我知道,如果你需要更多的信息。 截图: Sub trial() Dim Cnn As New ADODB.Connection Dim Rst As New ADODB.Recordset Dim ConnectionString, SqlTextFile, SqlStatement As String 'Prevent screenupdating when this macro runs Application.ScreenUpdating = False 'Clear the destination sheet ThisWorkbook.Sheets("Sheet1").Cells.ClearContents 'Connection to SQl Server ConnectionString = "Provider=SQLOLEDB;Data Source=…….;Initial Catalog=………..;Trusted_connection=yes;" Cnn.Open ConnectionString Cnn.CommandTimeout = 900 SqlTextFile […]

将Excel公式转换为T-SQL

我有一个Excel公式,我试图转换为SQL。 公式如下 =1800*85%/450*E23 假设E23的值是12,那么公式将等于40.8 在SQL我写这个: DECLARE @Number1 INT DECLARE @Number2 INT Declare @Number3 INT Declare @Number4 FLOAT Set @Number1 = 1800 Set @Number2 = 85 Set @Number3 = 450 SELECT @Number1 * @Number2 / @Number3 * Column1 AS FormulaResult FROM DB; 如果任何人可以build议如何使@ Number2 = 85变成85%,所以我可以得到和我一样从Excel中得到的结果,我会大量赞赏它。 谢谢

SQL Server AVGfunction怪异

我在SQL Server AVG计算中看到一些奇怪的行为。 在手动计算,你得到49.277588 但是SQL Server报告的平均值是50.9914 如下所示。 问题:有人可以解释这种差别,为什么发生这种情况? 您可以使用以下查询在AdventureWorks2008数据库上尝试查询 select C.ProductCategoryID, P.ProductSubcategoryID, AVG(P.ListPrice) as 'Average', MIN(P.ListPrice) as 'Miniumum', MAX(P.ListPrice) as 'Maximum' from Production.Product P join Production.ProductSubcategory S on S.ProductSubcategoryID = P.ProductSubcategoryID join Production.ProductCategory C on C.ProductCategoryID = S.ProductCategoryID where P.ListPrice <> 0 group by C.ProductCategoryID, P.ProductSubcategoryID with rollup [更新]答案 这是Excel中加权平均计算的结果

VBA中的语法错误“JOIN”不正确

我正试图学习VBA脚本专门连接到SQL和拉几个帐户的细节。 然而,我得到一个语法错误“关键字”join“附近的语法错误,你能帮我find语法错​​误。 strQuery = "" _ & "DECLARE @Perns TABLE(Id INT)" _ & " INSERT INTO @Perns (Id)" _ & " SELECT 4098 " _ & " SELECT ddm.FirstName, ddm.LastName, am.alias AS Alias, ddm.PersonnelNbr AS N'Pern#', nam.parent_OU_DN, gc.PersonGroupDesc AS N'AccManNG Status' " _ & " FROM @Perns AS p" _ & "LEFT OUTER JOIN [Accmanng].[dbo].[directory_data_master] […]

循环将多个值插入到SQL Server中

我想在一个SQL插入语句中插入大量的值到SQL Server中。 所以例如.. Insert Into someDataBase Values(value1, value2, value3,…, value120, value121) 所有这些值将在Excel表格中按正确顺序排列。 我已经创build了一个循环来遍历所有的121值,但我不能想到一个循环插入值,而不是单独写入每个值。 谁能帮我吗? 我的代码如下所示: Sub AddRows() ' In VBE you need to go Tools References and check Microsoft Active X Data Objects 2.x library Dim Cn As ADODB.Connection Dim Server_Name As String Dim Database_Name As String Dim User_ID As String Dim Password As String […]

如何在SQL中编写Microsoft Excel“移位单元格”function

拿一个简单的表格,如下所示: Column Headings: || Agent's Name || Time Logged In || Center || Row 1: Andrew || 12:30 PM || Home Base Row 2: Jeff || 7:00 AM || Virtual Base Row 3: Ryan || 6:30 PM || Test Base 现在让我们说一个单元格被删除,所以表格现在看起来像这样: Column Headings: || Agent's Name || Time Logged In || Center || Row 1: […]

如何在特定的时间段内显示客户的订单频率。

我有一个电子邮件地址和订单date列表。 我想知道如何显示每周订购,每月两次,每月一次,每2个月一次,每3个月一次,每4个月一次,每5个月或更多的客户数量。 什么是完成这个最好的方法是? 我有40万条logging。

Microsoft.ACE.OLEDB.12.0不支持隔离级别,也不支持它的强化

我使用Microsoft.ACE.OLEDB.12.0将Excel文件转换为数据库,我得到这个错误: 无法启动OLE DB提供程序的事务 “Microsoft.ACE.OLEDB.12.0”用于链接服务器“(null)”。 OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”用于链接服务器“(null)”返回消息“既不支持隔离级别也不强化它 当我在服务器上运行分析器时,我看到这些命令运行: declare @p7 int set @p7=NULL exec sp_executesql N'EXEC @RETURN_VALUE = [dbo].[SYSMain_ExcelImport] @ExcelPath = @p0, @StoredProcedure = @p1, @SheetName = @p2, @DoneByPersonID = @p3',N'@p0 nvarchar(4000),@p1 nvarchar(4000),@p2 nvarchar(4000), @p3 int,@RETURN_VALUE int output', @p0=N' E:\TolueCRM\TolueCRM\upload \SYSMain_ExcelReadyForImport 57\3.xlsx' ,@p1=N'SYSMain_Excel_SendigRecievingDebitCustomer', @p2=N'sheet1',@p3=101,@RETURN_VALUE=@p7 output select @p7 当我直接在Management Studio中运行它时,我不会收到任何错误,并且它可以正常工作。 然后profiler显示这个命令: exec sp_reset_connection 然后 : — network […]