Asp.net 我想要一个简单的查询来计算图书馆管理系统中图书的罚款

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)

我的前端aspx页面上有一个网格视图。 我想展示每本书的罚款情况。如果没有罚款,则该行显示零

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结束谢谢先生,问题已解决。