Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015

Ainur.sm
Дата: 10.02.2016 20:13:43
Создала 2 таблицы
1 таблице идет сумма нарастающих расходов на 12 месяц. за 2015 год

SELECT Center AS Nam2, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=1)) AS Jun, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=2))+Jun AS Февраль, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=3))+Февраль AS Март, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=4))+Март AS Апрель, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=5))+Апрель AS Май, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=6))+Май AS Июнь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=7))+Июнь AS Июль, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=8))+Июль AS Август, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=9))+Август AS Сентябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=10))+Сентябрь AS Октябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=11))+Октябрь AS Ноябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=12))+Ноябрь AS Декабрь
FROM qdfPayments
WHERE Year(qdfPayments.PaymentDate)=2015 And Center<>''
GROUP BY Center;


А во второй таблице считается сумма расходов (до) <2015 год

 SELECT qdfPayments.Center AS Nam, Sum(qdfPayments.IncomePaymentSumCalc) AS Kum
FROM qdfPayments
WHERE (((Year(qdfPayments.PaymentDate))<2015))
GROUP BY qdfPayments.Center;


Надо что с помощью JOIN соединить ИТОГи. Итог до 2015 год + январь месяц 2015
если У Андрея до 2015 был расход 12 000 р. и за январь месяц 2015 1 000 р.
то должен показать
----------январь 2015
Андрей----13000


Как сделать??
Ainur.sm
Дата: 10.02.2016 20:17:34
Ainur.sm,
SELECT Center AS Nam2, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=1)) AS Jun,
 -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=2))+Jun AS Февраль, 
-SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=3))+Февраль AS Март, 
-SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=4))+Март AS Апрель, 
-SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=5))+Апрель AS Май, 
-SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=6))+Май AS Июнь, 
-SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=7))+Июнь AS Июль, 
-SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=8))+Июль AS Август, 
-SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=9))+Август AS Сентябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=10))+Сентябрь AS Октябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=11))+Октябрь AS Ноябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=12))+Ноябрь AS Декабрь
FROM qdfPayments
WHERE Year(qdfPayments.PaymentDate)=2015 And Center<>''
GROUP BY Center;
Ainur.sm
Дата: 10.02.2016 20:22:36
Ainur.sm,

1 таб
Ainur.sm
Дата: 10.02.2016 20:23:00
Ainur.sm,
2 таб
__Michelle
Дата: 10.02.2016 20:56:40
Ainur.sm
Создала 2 таблицы
1 таблице идет сумма нарастающих расходов на 12 месяц. за 2015 год

SELECT Center AS Nam2, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=1)) AS Jun, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=2))+Jun AS Февраль, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=3))+Февраль AS Март, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=4))+Март AS Апрель, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=5))+Апрель AS Май, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=6))+Май AS Июнь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=7))+Июнь AS Июль, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=8))+Июль AS Август, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=9))+Август AS Сентябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=10))+Сентябрь AS Октябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=11))+Октябрь AS Ноябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=12))+Ноябрь AS Декабрь
FROM qdfPayments
WHERE Year(qdfPayments.PaymentDate)=2015 And Center<>''
GROUP BY Center;


А во второй таблице считается сумма расходов (до) <2015 год

 SELECT qdfPayments.Center AS Nam, Sum(qdfPayments.IncomePaymentSumCalc) AS Kum
FROM qdfPayments
WHERE (((Year(qdfPayments.PaymentDate))<2015))
GROUP BY qdfPayments.Center;


Надо что с помощью JOIN соединить ИТОГи. Итог до 2015 год + январь месяц 2015
если У Андрея до 2015 был расход 12 000 р. и за январь месяц 2015 1 000 р.
то должен показать
----------январь 2015
Андрей----13000


Как сделать??
Этот результат можно получить и без помощи JOIN.
Тем же запросом, что и второй, но с другим условием
SELECT Center AS Nam, Sum(IncomePaymentSumCalc) AS Kum
FROM qdfPayments
WHERE Year(PaymentDate)<2015 OR (Year(PaymentDate)=2015 AND Month(PaymentDate)=1)
GROUP BY Center;
Ainur.sm
Дата: 10.02.2016 22:42:36
__Michelle,

А как сделать с помощью JOIN ? Чтобы понять как оно работает?
пыталась сделать получила только это.
теперь надо написать чтобы kum+jun


SELECT *
FROM (SELECT *FROM qdfActive AS tbl1 Left JOIN qdfActions AS tbl2 ON tbl1.Nam=tbl2.Nam2)
Ainur.sm
Дата: 10.02.2016 23:08:10
__Michelle
Ainur.sm
Создала 2 таблицы
1 таблице идет сумма нарастающих расходов на 12 месяц. за 2015 год

SELECT Center AS Nam2, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=1)) AS Jun, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=2))+Jun AS Февраль, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=3))+Февраль AS Март, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=4))+Март AS Апрель, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=5))+Апрель AS Май, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=6))+Май AS Июнь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=7))+Июнь AS Июль, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=8))+Июль AS Август, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=9))+Август AS Сентябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=10))+Сентябрь AS Октябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=11))+Октябрь AS Ноябрь, -SUM(qdfPayments.IncomePaymentSumCalc*(Month(PaymentDate)=12))+Ноябрь AS Декабрь
FROM qdfPayments
WHERE Year(qdfPayments.PaymentDate)=2015 And Center<>''
GROUP BY Center;


А во второй таблице считается сумма расходов (до) <2015 год

 SELECT qdfPayments.Center AS Nam, Sum(qdfPayments.IncomePaymentSumCalc) AS Kum
FROM qdfPayments
WHERE (((Year(qdfPayments.PaymentDate))<2015))
GROUP BY qdfPayments.Center;


Надо что с помощью JOIN соединить ИТОГи. Итог до 2015 год + январь месяц 2015
если У Андрея до 2015 был расход 12 000 р. и за январь месяц 2015 1 000 р.
то должен показать
----------январь 2015
Андрей----13000


Как сделать??
Этот результат можно получить и без помощи JOIN.
Тем же запросом, что и второй, но с другим условием
SELECT Center AS Nam, Sum(IncomePaymentSumCalc) AS Kum
FROM qdfPayments
WHERE Year(PaymentDate)<2015 OR (Year(PaymentDate)=2015 AND Month(PaymentDate)=1)
GROUP BY Center;



SELECT Center AS Nam,  Sum(IncomePaymentSumCalc) AS Январь,
SUM(IncomePaymentSumCalc ) + Январь AS Февраль
From qdfPayments
WHERE [color=red]Year(PaymentDate)<2015 OR (Year(PaymentDate)=2015 AND Month(PaymentDate)=1)
 GROUP BY Center[/color];
относятся только к Январю,

А он будет прибавлять каждому месяцу
__Michelle
Дата: 10.02.2016 23:11:34
Ainur.sm
__Michelle,

А как сделать с помощью JOIN ? Чтобы понять как оно работает?
пыталась сделать получила только это.
теперь надо написать чтобы kum+jun


SELECT *
FROM (SELECT *FROM qdfActive AS tbl1 Left JOIN qdfActions AS tbl2 ON tbl1.Nam=tbl2.Nam2)

Разбираться, как работает JOIN, следует на других примерах.
Здесь это не нужно, все можно получить одним простым запросом.
Ведь по сути вся работа производится над одной-единственной таблицей qdfPayments.

Но ладно. Смотрите.
Запрос с JOIN и суммой kum+jun
SELECT *, kum+jun AS SumKJ 
FROM qdfActive AS tbl1 
INNER JOIN qdfActions AS tbl2 
ON tbl1.Nam=tbl2.Nam2
Но советую делать по-другому!
__Michelle
Дата: 10.02.2016 23:19:42
Ainur.sm
__Michelle
пропущено...
Этот результат можно получить и без помощи JOIN.
Тем же запросом, что и второй, но с другим условием
SELECT Center AS Nam, Sum(IncomePaymentSumCalc) AS Kum
FROM qdfPayments
WHERE Year(PaymentDate)<2015 OR (Year(PaymentDate)=2015 AND Month(PaymentDate)=1)
GROUP BY Center;



SELECT Center AS Nam,  Sum(IncomePaymentSumCalc) AS Январь,
SUM(IncomePaymentSumCalc ) + Январь AS Февраль
From qdfPayments
WHERE [color=red]Year(PaymentDate)<2015 OR (Year(PaymentDate)=2015 AND Month(PaymentDate)=1)
 GROUP BY Center[/color];
относятся только к Январю,

А он будет прибавлять каждому месяцу
Кто "он", который будет прибавлять?
Вот это SUM(IncomePaymentSumCalc ) + Январь AS Февраль откуда взялось вдруг?
В условии было - "все за время до 2015 + за январь 2015".
Ainur.sm
Дата: 10.02.2016 23:31:51
__Michelle,

Надо вывести на 12 месяцев. Только Итог2014 год (Итоги прош. год)прибавлялась к январю