我有5个查询,我想加入.基本上他们所做的是通过数据库并选择租户支付了多少,以及租户根据他或她多久收费而欠多少钱.
我有四类
费用<30天
收费<60 AND> = 30天
收费<90 AND> = 60天
收费> 90天
我知道如何分别获得所有这些价值,但我怎样才能将它们合并在一起,加上租户支付的金额?
以下是我的疑问:
租户支付的金额
SELECT TransactionCode, TenantID, SUM(Amount) AS Paid FROM tblTransaction
WHERE Amount > 0
GROUP BY TransactionCode, TenantID
Run Code Online (Sandbox Code Playgroud)
收费不到30天
SELECT TransactionCode, TenantID, SUM(Amount) AS ChargedCurrent FROM tblTransaction
WHERE Amount < 0 AND TransactionDate > DATEADD("dd", -30, GETDATE())
GROUP BY TransactionCode, TenantID
Run Code Online (Sandbox Code Playgroud)
收费不到60天,但超过29天
SELECT TransactionCode, TenantID, SUM(Amount) AS ChargedOver30 FROM tblTransaction
WHERE Amount < 0 AND TransactionDate > DATEADD("dd", -60, GETDATE()) AND TransactionDate <= DATEADD("dd", -30, GETDATE()) …Run Code Online (Sandbox Code Playgroud) 如何从网络计算机中的应用程序访问SQL Server 2005 Express Edition?
我需要的访问来自应用程序(Linq-to-SQL和ODBC)和Management Studio
我想使用配置文件,并能够使用aspent_regsql -A p来安装表.我可以在SQL管理工作室中看到它们.
我实际上正在使用SQLExpress 2005,并填充了我的dbo.aspnet_SchemaVersions.有人知道会出错吗?
顺便说一句,我很确定我的连接字符串和应用程序代码都没问题.提前致谢.
<system.web>
<membership>
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider,
System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="RGConnectionString" />
</providers>
</membership>
<profile>
<providers>
<add name="ProfileProvider" type="System.Web.Security.SqlProfileProvider,
System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="RGConnectionString"/>
</providers>
Run Code Online (Sandbox Code Playgroud) 我想在使用默认图片创建新记录时填充SQL Server数据库表的varbinary(MAX)列.如何使用触发器或在这种情况下通过任何其他方式执行此操作?
这是我尝试过的T-SQL代码:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[Trg_DoctorDemographic_DefaultImage]
ON [ECGManagementSystem].[dbo].[DoctorDemographic]
AFTER INSERT
NOT FOR REPLICATION
AS
BEGIN
INSERT INTO[ECGManagementSystem].[dbo].[DoctorDemographic]
(DPhoto)
SELECT * FROM OPENROWSET(Bulk N'D:\Programs\MSVC\Exercises\BEMS\BEMS\res\Doctor.bmp',SINGLE_BLOB)AS BLOB
END;
Run Code Online (Sandbox Code Playgroud) sql sql-server image sql-server-2005-express sql-server-express
我正在尝试添加NETWORK SERVICE登录,因为我仍然无法连接到AdventureWorks3数据库.但我想通过SQL Server身份验证而不是Windows添加此NETWORK SERVICE登录.
当我选择Windows身份验证时,它允许我创建此登录.但是当我选择SQL Server Auth时,它会给我以下错误:为登录'NT AUTHORITY\NETWORK SERVICE'创建失败'...'NT AUTHORITY\NETWORK SERVICE'不是有效名称,因为它包含无效字符.(MS SQL Server,错误:15006)
不确定这是否真的属于这里,所以如果没有,请移动它.
我有几个非常大的.sql文件,我试图在SQL Server Studio Express 2005中运行.问题是,当我尝试执行时,程序说我没有足够的内存.手动拆分将非常耗时,因为每行超过500k行,并且我的剪贴板在复制10k行时冻结.
有什么想法我可以分开吗?
USE NORTHWIND;
GO
SELECT SHIPCOUNTRY,[ORDERS_ID] =
CASE ORDERID
WHEN ORDERID = 10300
THEN 'I AM FROM 10300'
WHEN ORDERID = 10400
THEN 'I AM FROM 10400'
WHEN ORDERID = 10500
THEN 'I AM FROM 10500'
ELSE 'I AM OUT OF RANGE'
END
FROM ORDERS;
GO
Run Code Online (Sandbox Code Playgroud)
错误 - 消息102,级别15,状态1,行3'='附近的语法不正确.
如果您的SQL Server中有northwind数据库,则可以执行此查询.
我不明白问题出在哪里.谁能帮我解决这个问题?
在我的团队ASP.NET应用程序的数据访问层中,我通过使用.NET SQLClient对我们的数据库运行存储过程.添加新代码以允许对数据库进行插入操作后,我测试了代码,并收到以下异常:
The transaction log for database 'DBName' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases
我确认在从MS SQL Server Management Studio中尝试插入操作时收到相同的消息.我很担心,因为我最近在数据库中添加了三个两个触发器来执行基于对某些表的插入和更新的一些数据插入,我认为可能是我遇到了无限循环或者那种性质的东西.
但是,基于此问题的其他在线实例,它似乎不是通常由触发器或旋转查询引起的问题.我查询了log_reuse_wait和log_reuse_wait_desc列并返回以下内容:
2 | LOG_BACKUP
此外,查询返回:SELECT [name], recovery_model_desc, log_reuse_wait_desc
FROM sys.databases
name | recovery_model_desc| log_reuse_wait_desc
DBName| FULL | LOG_BACKUP
Run Code Online (Sandbox Code Playgroud)
其中第一列是log_reuse_wait第二列,第二列是log_reuse_wait_desc.根据msdn上代码的定义,我需要执行日志备份,然后日志可以自动截断,从而允许对数据库进行进一步操作.这是正确的假设吗?这是由错误编码的触发器引起的,还是更多的例行维护任务,是由数据库上的大量事务引起的?
编辑:
查询select type_desc, size, max_size from sys.database_files返回:
type_desc | size | max_size
1| ROWS | 512 …Run Code Online (Sandbox Code Playgroud) t-sql database sql-server transaction-log sql-server-2005-express
抱歉,但如何在SQL Server 2005 Express版中启用TCP?我使用配置管理器,找到网络配置/协议,并启用TCP,之后我重新启动了sql server服务并再次尝试安装有问题的软件(软件告诉我TCP没有启用)但我有同样的问题:-(