Changes between Version 29 and Version 30 of Напредни извештаи од базата (SQL и складирани процедури)


Ignore:
Timestamp:
02/24/25 16:19:07 (3 months ago)
Author:
222039
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Напредни извештаи од базата (SQL и складирани процедури)

    v29 v30  
    240240}}}
    241241
    242 * π MemberName, Membership_Status, PeriodStart, PeriodEnd, TotalLoans, ActiveLoans, TotalFines, TotalFineAmount, TotalPaidAmount
    243 * (σ (DateRanges ⨯ Member ⨝ Users ⨝ (Loan ⨝ Fine ⨝ FinePayment))
    244 * (γ MemberName, Membership_Status, PeriodStart, PeriodEnd; COUNT(LoanID) AS TotalLoans, COUNT(CASE WHEN ReturnDate IS NULL THEN LoanID END) AS ActiveLoans, COUNT(FineID) AS TotalFines, SUM(FineAmount) AS TotalFineAmount, SUM(PaymentAmount) AS TotalPaidAmount)
    245 * (ORDER BY PeriodStart DESC, TotalLoans DESC)
     242π_{MemberName, Membership_Status, PeriodStart, PeriodEnd, TotalLoans, ActiveLoans, TotalFines, TotalFineAmount, TotalPaidAmount} 
     243(τ_{PeriodStart DESC, TotalLoans DESC} 
     244 (γ_{FirstName, LastName, Membership_Status, start_date, end_date} 
     245    (σ_{Loan.LoanDate ≥ start_date ∧ Loan.LoanDate < end_date} 
     246      (DateRanges × Member ⨝_{Member.UserID = Users.UserID} Users 
     247        ⟕_{Member.MemberID = Loan.MemberID} Loan 
     248        ⟕_{Loan.LoanID = Fine.LoanID} Fine 
     249        ⟕_{Fine.FineID = FinePayment.FineID} FinePayment
     250      ) 
     251    ) 
     252    COUNT(DISTINCT Loan.LoanID) → TotalLoans, 
     253    COUNT(DISTINCT σ_{Loan.ReturnDate IS NULL} (Loan.LoanID)) → ActiveLoans, 
     254    COUNT(DISTINCT Fine.FineID) → TotalFines, 
     255    COALESCE(SUM(Fine.FineAmount), 0) → TotalFineAmount, 
     256    COALESCE(SUM(FinePayment.PaymentAmount), 0) → TotalPaidAmount 
     257  ) 
     258 )
    246259
    247260{{{#!sql