我需要找到一种方法来获取SUM()
所有正值的所有正值num
并返回SUM()
所有正数的值和每个负数的单独行。下面是一个示例 DDL:
Create Table #Be
(
id int
, salesid int
, num decimal(16,4)
)
Insert Into #BE Values
(1, 1, 12.32), (2, 1, -13.00), (3, 1, 14.00)
, (4, 2, 12.12), (5, 2, 14.00), (6, 2, 21.23)
, (7, 3, -12.32), (8,3, -43.23), (9, 3, -2.32)
Run Code Online (Sandbox Code Playgroud)
这是我想要的输出(每个 salesid 的正数SUM()
和负数得到单独的一行返回):
salesid num
1 26.32
1 -13.00
2 47.35
3 -12.32
3 -43.23
3 -2.32
Run Code Online (Sandbox Code Playgroud) 我们目前有一个 oninsert() 触发器设置,每次将行插入到表中时,都会触发更新查询以更新 3 个字段。这些字段是一个简单的计算,例如
field1update = (amt/12)*14
field2update = (amt/12)*16
field3update = (amt/12)*18
Run Code Online (Sandbox Code Playgroud)
触发器是足够的,但它有时会锁定该行,因此暂时无法立即访问它。我的问题是,如果将这些字段转换为(请原谅我的无知)计算列或计算列,我们会看到性能改进吗?
通常这是一个电子表格导入,一次插入大约 20,000 - 25,000 行。
performance sql-server t-sql sql-server-2008-r2 performance-tuning
我正在尝试添加schemabinding
到 SQL Server 2008 中的视图,但出现错误
模式绑定对象中不允许使用语法“Openrowset/Openquery/Opendatasource”。
我使用Openquery
是因为我正在查询链接服务器,这是我必须查询的方式。有解决方法吗?
这是我用我的观点尝试的语法
Create View dbo.Test
With Schemabinding
As
Select * FROM OPENQUERY(191.183.18.101, 'Select * from ls1prod.hrinfo')
Go
Run Code Online (Sandbox Code Playgroud) 我看到@ypercube 的回答??这对如何计算似乎是由 3 订购的数量并给出整数答案给出了很好的答案。这让我想到,如果要拆分的次数可变,您将如何处理?
这意味着这是你总是会被 3 分割的 OP(原始海报
Create Table #Orders
(
id int IDENTITY(1,1) PRIMARY KEY NOT NULL
,partid varchar(100) NOT NULL
,qtyordered int DEFAULT '0'
,orderedby varchar(100) NOT NULL
,ordereddate date DEFAULT GETDATE()
) ;
Insert Into #Orders (partid, qtyordered, orderedby) VALUES
('SS100', 10, 'James'), ('RR200', 5, 'Bob'), ('NN300', 3, 'Jake'), ('OO400', 5, 'Blue') ;
SELECT
partid,
qtyordered,
[First],
[Second],
[Third]
FROM
#Orders
CROSS APPLY
( SELECT [Third] = (qtyordered) / 3 ) AS q3
CROSS APPLY …
Run Code Online (Sandbox Code Playgroud) 我可能只是设置我的查询完全不正确,但我需要返回的预期结果集是Nuestra B & Nosotros B
因为它们分别属于日期范围。IE Nuestra Bfeeduedate >= '20160301' AND fj.feeduedate <='20160330'
和 Nosotros Bfe.ViolationDate >= '20170601' AND fe.ViolationDate <= '20170606'
它们就位。
但是,当我运行此查询以尝试返回结果时,我的结果集中返回了 0。
我的查询有什么问题?以下是示例数据和 DDL
CREATE TABLE [dbo].[fei](
[violatorsName] [varchar](500) NOT NULL,
[violationNumber] [varchar](100) NOT NULL,
[violationDate] [date] NOT NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[FJI](
[violatorsName] [varchar](500) NOT NULL,
[VIN] [varchar](100) NOT NULL,
[vfees1] [float] NOT NULL,
[vfees2] [float] NOT NULL,
[vfees3] [float] NOT NULL,
[vfees4] [float] NOT NULL,
[vfees5] [float] NOT NULL,
[vfees6] …
Run Code Online (Sandbox Code Playgroud) 我想比较表中的Distinct sn
fromHMI_Temp
到-> 如果存在,我想更新值 - 得到这个语法检查!-如果确实不存在,我想插入从数据到我都试过这个语法,但我得到的错误:sn
HMI
sn
sn
HMI_Temp
HMI
无效的列名 'cb'
无效的列名 'lp'
无效的列名 cn
无效的列名 stn
这是我的语法 - 我应该如何重写它以实现我想要的结果?
MERGE INTO HMI AS Target
USING (SELECT DISTINCT sn FROM HMI_Temp) AS Source ON Target.sn = Source.sn
WHEN NOT MATCHED THEN
INSERT (lp, cb, cn, sn, stn) VALUES (Source.lp, Source.cb, Source.cn, Source.sn, Source.stn);
Run Code Online (Sandbox Code Playgroud)
DDL:
CREATE TABLE [dbo].[HMI_Temp]
(
[sID] [int] IDENTITY(1,1) NOT NULL,
stn [float] NULL,
[sn] [nvarchar](255) NULL,
[cn] [nvarchar](max) NULL, …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 .mdf 文件附加到我的 SSMS 安装中。我完成了这些步骤,最后我收到了这条消息。
是什么导致 .mdf 文件无法附加?
另外,我已经验证 .mdf 文件不是只读的。
编辑
如果我运行,Select @@Version
我会得到我有 2008 年的输出,这是我的 .mdf 文件所需要的..