2016-01-26 3 views
0

У меня есть две таблицы: Сделки и A/C_Detail.SQL-запрос для преобразования данных по месяцам и месяцам

Столбцы в таблице сделки являются:

A/C Нет, Transaction_Amt, Tran_Type, сделка Дата, Время транзакции, местоположение, режим.

Примечание: Поле Tran_Type может иметь значения CR/DR для представления кредита/дебетования.

Столбцы в таблице A/C_Detail являются:

A/C Нет, A/C Holder_Name, Пол, DOB

Мне нужно написать запрос SQL, чтобы получить следующие поля на выходе:

A/C Нет, A/C Holder_Name, Transaction_Amt, год, месяц

Может кто-то пожалуйста, помогите мне с запросом SQL для желаемого вывода?

+0

Какой сервер sql? – maSTAShuFu

+0

Sql-сервер - это сервер Oracle – darin

ответ

0

Учитывая, что A/C no является общим полем в обеих таблицах, в этом случае u может использовать следующий запрос (я использую то же имя столбца для понимания цели): Предполагается, что сумма дебетования будет -ve в данных и зачисляется будет + ve сумма.

Select 
    a.A/C No, 
    b.A/C Holder_Name, 
    sum(a.Transaction_Amt), 
    to_char(a.Transaction Date,'YYYY')Year, 
    to_char(a.Transaction Date,'Mon')Month 
    from Transaction a,A/C_Detail b 
    where a.A/C No=b.A/C No 
    group by a.A/C No, 
    b.A/C Holder_Name, 
    to_char(a.Transaction Date,'YYYY'), 
    to_char(a.Transaction Date,'Mon'); 
+0

Привет, Smau, я верю, что это даст мне информацию о ttransaction, отвечающую и их месяц и год. Но мне требуется представление информации о транзакции, которая произошла через месяц через год. то есть, например, если a/c XXX показывает 200 как дебет и 300 в качестве кредита 2-го и 3-го января 2015 года, он должен предоставить результат как XXX 100 2015 Январь – darin

+0

@ darin Необходимые изменения были сделаны, см. примечание. – smau

Смежные вопросы