2017-05-10 6 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

'Subquery returned than 1 value'についてのエラーを受け取っているかどうかは不明です。もしそうなら、このクエリ '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 
関連する問題