Да, очень возможно.
Небольшая программа для демонстрации:
class A{
final void foo(){ System.out.println("foo ver 1 from class A"); }
final void foo(int a){ System.out.println("foo ver 2 from class A"); }
}
class B extends A{
final void foo(long l){ System.out.println("foo ver 3 from class B"); }
// final void foo(){ System.out.println("foo ver 1 from class A"); } NOT ALLOWED
}
public class Test {
public static void main(String [] args){
B obj = new B();
obj.foo();
obj.foo(1);
obj.foo(1L);
}
}
Выход:
foo ver 1 from class A foo ver 2 from class A foo ver 3 from class B
Несколько неясно, чего вы хотите достичь. Вы хотите суммировать ожидаемые платежи по клиентам, месяцу orig_date
и дате charge_date
?
Если это так, что-то вроде этого должно работать:
SELECT
customer,
cast(orig_date as DATE) as orig_month,
charge_date,
sum(payment) as Expected_Charge_amt
from table_name
group by customer, cast(orig_date as DATE), charge_date
Если я правильно понимаю, вы хотите все ожидающие транзакции.
Для этого начнем со списка дат. Тогда cross apply
или join
:
with dates as
select convert(date, '2019-01-01') as dte
union all
select dateadd(day, 1, dte)
from dates
where dte < '2019-02-28'
)
select t.customer, d.dte as tr_date, t.charge_date,
t.payment as expected_chart_amount
from dates d join
transactions t
on d.dte >= t.orig_date and
d.dte <= t.charge_date
where t.customer = 100400
order by d.dte, t.charge_date;