Asp.net 我想要一个简单的查询来计算图书馆管理系统中图书的罚款
我的前端aspx页面上有一个网格视图。 我想展示每本书的罚款情况。如果没有罚款,则该行显示零Asp.net 我想要一个简单的查询来计算图书馆管理系统中图书的罚款,asp.net,sql-server,Asp.net,Sql Server,我的前端aspx页面上有一个网格视图。 我想展示每本书的罚款情况。如果没有罚款,则该行显示零 DECLARE @Days INT, @IssueDate DATE = (SELECT IssueDate FROM ISSUEBOOKSTUDENT), @ReturnDate DATE = (SELECT ReturnDate FROM ISSUEBOOKSTUDENT) SET @Days = DATEDIFF(d,@IssueDate,@ReturnDate)
DECLARE @Days INT,
@IssueDate DATE = (SELECT IssueDate FROM ISSUEBOOKSTUDENT),
@ReturnDate DATE = (SELECT ReturnDate FROM ISSUEBOOKSTUDENT)
SET @Days = DATEDIFF(d,@IssueDate,@ReturnDate)
SELECT
(CASE
WHEN @Days < 2
THEN @Days * 10
ELSE 0
END) Fine
我尝试过上面的查询,但它会导致错误。我认为您使用的方法是错误的。要获取发行日期和归还日期,您不能传递任何已识别的图书 尝试使用下面的查询
SELECT
case when DATEDIFF(d,IssueDate ,ReturnDate ) > 2 then (DATEDIFF(d,IssueDate ,ReturnDate )) *10 else 0 end AS FINE
from ISSUEBOOKSTUDENT
请编辑添加表后的结构和错误。为什么设置asp.net标记?您收到的错误是什么?不确定您收到的错误是关于子查询返回的值超过1。如果是这样,您可以使用此查询选择*,当DATEDIFFDAY、IssueDate、ReturnDate<2时,选择大小写,然后选择DATEDIFFDAY、IssueDate、ReturnDate*10,否则0将从IssueBookStudent结束谢谢先生,问题已解决。