2017-05-10 56 views
0

我在我的前端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 

我已經嘗試了上述查詢,但它導致錯誤。

+0

請編輯您的帖子添加表結構和錯誤。你爲什麼設置「asp.net」標籤? – Emanuele

+1

你收到了什麼錯誤? – Arulkumar

+1

不確定你收到有關'子查詢返回多個值'的錯誤。如果是這樣,你可以使用這個查詢SELECT *,CASE WHEN DATEDIFF(DAY,IssueDate,ReturnDate)<2 THEN DATEDIFF(DAY,IssueDate,ReturnDate)* 10 ELSE 0 END AS Fine FROM IssueBookStudent' – Arulkumar

回答

0

我認爲你使用的方法是錯誤的。爲了獲得發佈的日期和返回日期,你沒有通過任何書。

嘗試使用下面的查詢

SELECT 
case when DATEDIFF(d,IssueDate ,ReturnDate) > 2 then (DATEDIFF(d,IssueDate ,ReturnDate)) *10 else 0 end AS FINE 
    from ISSUEBOOKSTUDENT