我有一个包含以下数据的表格。
columnA columnB
ONE value 1
ONE value 2
ONE value 3
TWO value 1
TWO value 2
THREE value 1
Run Code Online (Sandbox Code Playgroud)
需要帮助创建下面给出的查询
COLUMN X COLUMN Y
ONE value 1, value 2, value 3
TWO value 1, value 2
THREE value 1
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个 SQL Server 查询,该查询列出在会议活动期间注册参观的人数,然后显示总和。这是我即将接近的 SQL 代码,但它忽略了总计(但不是单个总计)的 WHERE 子句:
SELECT SiteTour, COUNT(SiteTour) AS count
FROM tblConference
WHERE (RegistrationType NOT LIKE 'cancellation')
GROUP BY SiteTour
UNION ALL
SELECT 'TOTAL' AS SiteTour, COUNT(SiteTour) AS Expr1
FROM tblConference AS tblConference_1
Run Code Online (Sandbox Code Playgroud)
这是它正在生产的东西:
0
Tour1 22
Tour2 30
Tour3 30
----------
TOTAL 83
Run Code Online (Sandbox Code Playgroud)
(Tour1 计数 22 是正确的,因为有一个 RegistrationType 取消。但是,83 的总数应该是 82。)
另外,我得到了一个初始行,我猜是基于对 NULL 的计数,显示为 0。有什么方法可以防止这种情况发生?
请帮我纠正这个问题。谢谢你。
我目前正在更新旧的标量值函数,希望能够提高它们的效率或将它们更改为内联 TVF。
在对我的重写进行故障排除时,我在原始代码中遇到了一些奇怪的问题,根据我对 SQL 中变量的理解,这似乎没有意义
如果我要写
Declare @var as Integer
Select @var = col1 from table
Run Code Online (Sandbox Code Playgroud)
然后这将始终返回 col1 中的最后一项。但是,在我正在使用的功能中,情况似乎并非如此。最初,有一个 where 子句根据输入更改结果,但是,删除它后,上述属性应该保持不变。在大多数情况下,确实如此,但也有一些情况并非如此。
大纲大致类似于以下内容:
create function f (
@var1 ... )
returns datatype
begin
Declare @temp1 ... (several vars declared here)
select @temp1 = col1, @temp2 = col2, ..., @tempX = max(colX) from(
select col1, col2, ... ,
colX * (case when name = 'X' then 1 else 0)
from table1
INNER JOIN table2 on ...
inner join table3 on ...
left …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过脚本安装示例数据库。我试过酒吧、北风和现在的冒险工作。我有很多错误。我在这里发帖是因为我相信我做错了什么。我假设 Adventureworks 的安装脚本已正确编写脚本,但我仍然收到很多错误消息,例如
> Msg 102, Level 15, State 1, Line 39
Incorrect syntax near ':'.
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)
Aug 22 2017 17:04:49
Copyright (C) 2017 Microsoft Corporation
Developer Edition (64-bit) on Windows 10 Home 10.0 <X64> (Build 17134: )
Started - 2018-07-07 15:15:49.647
*** Dropping Database
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near '$'.
*** Creating Database
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '$'.
Run Code Online (Sandbox Code Playgroud) 我有一个 textBox 的值为 100,我想在 stock_out 列中增加该值,但只有直到 stock_out 列等于 stock_in 列,如果第一行值是 40 比第一行 stock_out 应该从 100 增加 10 比100(90) 的剩余值应在其下方的行中递增,然后在其下方的行中递增,直到需要为止(直到 100 为 0)。项目按 Item_Name 和 Bill No asc 排序。
Bill No Item_Name Stock_in Stock_out stock_in_hand
1 chicken 50 40 10
2 chicken 40 0 40
5 chicken 60 10 50
6 chicken 100 20 80
3 fish 100 30 70
4 fish 20 20 0
Run Code Online (Sandbox Code Playgroud)
要得到的结果。
Bill No Item_Name Stock_in Stock_out stock_in_hand
1 chicken 50 50 0
2 chicken 40 40 …Run Code Online (Sandbox Code Playgroud) sql 2012 master 数据库已损坏,我最近有 master 的备份,恢复 master 后我的用户数据库会发生什么,我是否必须从最新备份中恢复所有数据库?
谢谢
应用程序中的错误进行了一些更改,现在我需要在没有备份的情况下回滚
我可以为此使用日志文件吗?
'ROLLBACK' 是另一种选择吗?
信息:
-我的恢复模式设置为简单
-AutoCommit 尚未设置
- 当我尝试使用恢复任务时,它告诉我“没有选择要恢复的备份集”
我已经安装了 SQL Server 2016 Enterprise 并应用了许可证密钥,但是
SERVERPROPERTY('LicenseType') is disbaled and
SERVERPROPERTY('NumLicenses') is null
Run Code Online (Sandbox Code Playgroud)
对于 SQL Server 2016,注册表中没有如下键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.SQL2016\Setup
知道如何更改 SQL Server 的 LicenseType 吗?
昨天我敲打我的 SQL Server 实例大约 3 个小时,运行密集计算,消耗了所有分配的物理 RAM (由于我的工作站硬件有限,我将它限制为 2GB),突然它(和许多其他东西?)释放了所有他们的内存明显切换到专门使用页面文件。
在我被迫重新启动之后,我的计算机出现了令人难以置信的滞后(仅访问电源选项就花了 10 分钟)。
我能够在重新启动之前获得任务管理器的屏幕截图(我以低更新速度在后台运行)。调整窗口大小以显示最大历史记录后,如下所示:
这种令人惊讶的行为导致了停机。这是记录在案的功能吗?
我正在运行带有 Enterprise 2014 数据库引擎的 Windows Server 2008 R2。
谢谢。
不幸的是,我无法备份和恢复,因为新数据库使用的是旧版本的 SQL。
当我运行以下脚本时,出现此错误:
Msg 117, Level 15, State 1, Line 1
The object name 'eih-dr01.eih.ehs.org.DBA.dbo.fp_monthly' contains more than the maximum number of prefixes. The maximum is 2.
Run Code Online (Sandbox Code Playgroud)
declare @table varchar(255),
@sql nvarchar(max)
declare c cursor local for
select st.name from sys.tables st
open c
fetch next from c into @table
set @sql = 'select * into [eih-dr01.eih.ehs.org].DBA.dbo.' + @table + ' from ' + @table
print @sql
exec sp_executesql @sql
fetch next from c into @table
close c
deallocate c …Run Code Online (Sandbox Code Playgroud) sql-server ×10
t-sql ×2
count ×1
functions ×1
memory ×1
optimization ×1
rollback ×1
subquery ×1
where ×1