Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015 / 17 сообщений из 17, страница 1 из 1
10.02.2016, 20:13
    #39168019
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
Создала 2 таблицы
1 таблице идет сумма нарастающих расходов на 12 месяц. за 2015 год

Код: plsql
1.
2.
3.
4.
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 год

Код: sql
1.
2.
3.
4.
 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


Как сделать??
...
Рейтинг: 0 / 0
10.02.2016, 20:17
    #39168022
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
Ainur.sm,
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
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;
...
Рейтинг: 0 / 0
10.02.2016, 20:22
    #39168027
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
Ainur.sm,

1 таб
...
Рейтинг: 0 / 0
10.02.2016, 20:23
    #39168030
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
Ainur.sm,
2 таб
...
Рейтинг: 0 / 0
10.02.2016, 20:56
    #39168058
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
Ainur.smСоздала 2 таблицы
1 таблице идет сумма нарастающих расходов на 12 месяц. за 2015 год

Код: plsql
1.
2.
3.
4.
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 год

Код: sql
1.
2.
3.
4.
 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.
Тем же запросом, что и второй, но с другим условием
Код: sql
1.
2.
3.
4.
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;
...
Рейтинг: 0 / 0
10.02.2016, 22:42
    #39168089
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
__Michelle,

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


Код: plsql
1.
2.
SELECT *
FROM (SELECT *FROM qdfActive AS tbl1 Left JOIN qdfActions AS tbl2 ON tbl1.Nam=tbl2.Nam2)
...
Рейтинг: 0 / 0
10.02.2016, 23:08
    #39168098
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
__MichelleAinur.smСоздала 2 таблицы
1 таблице идет сумма нарастающих расходов на 12 месяц. за 2015 год

Код: plsql
1.
2.
3.
4.
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 год

Код: sql
1.
2.
3.
4.
 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.
Тем же запросом, что и второй, но с другим условием
Код: sql
1.
2.
3.
4.
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;




Код: plsql
1.
2.
3.
4.
5.
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];

относятся только к Январю,

А он будет прибавлять каждому месяцу
...
Рейтинг: 0 / 0
10.02.2016, 23:11
    #39168104
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
Ainur.sm__Michelle,

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


Код: plsql
1.
2.
SELECT *
FROM (SELECT *FROM qdfActive AS tbl1 Left JOIN qdfActions AS tbl2 ON tbl1.Nam=tbl2.Nam2)


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

Но ладно. Смотрите.
Запрос с JOIN и суммой kum+jun
Код: sql
1.
2.
3.
4.
SELECT *, kum+jun AS SumKJ 
FROM qdfActive AS tbl1 
INNER JOIN qdfActions AS tbl2 
ON tbl1.Nam=tbl2.Nam2

Но советую делать по-другому!
...
Рейтинг: 0 / 0
10.02.2016, 23:19
    #39168111
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
Ainur.sm__Michelleпропущено...
Этот результат можно получить и без помощи JOIN.
Тем же запросом, что и второй, но с другим условием
Код: sql
1.
2.
3.
4.
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;




Код: plsql
1.
2.
3.
4.
5.
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".
...
Рейтинг: 0 / 0
10.02.2016, 23:31
    #39168120
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
__Michelle,

Надо вывести на 12 месяцев. Только Итог2014 год (Итоги прош. год)прибавлялась к январю
...
Рейтинг: 0 / 0
10.02.2016, 23:40
    #39168125
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
с JOIN можно например так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
SELECT
 T.Center, 
 Nz(X.S0,0) AS Начало,
 T.S1+Начало AS Январь,
 T.S2+Январь AS Февраль, 
 T.S3+Февраль AS Март, 
 T.S4+Март AS Апрель, 
 T.S5+Апрель AS Май, 
 T.S6+Май AS Июнь, 
 T.S7+Июнь AS Июль, 
 T.S8+Июль AS Август, 
 T.S9+Август AS Сентябрь, 
 T.S10+Сентябрь AS Октябрь, 
 T.S11+Октябрь AS Ноябрь, 
 T.S12+Ноябрь AS Декабрь
 
FROM

/* суммы каждого Center по месяцам последнего года */ 
(SELECT Center, 
 -SUM(S*(M=1)) AS S1,
 -SUM(S*(M=2)) AS S2, 
 -SUM(S*(M=3)) AS S3, 
 -SUM(S*(M=4)) AS S4, 
 -SUM(S*(M=5)) AS S5, 
 -SUM(S*(M=6)) AS S6, 
 -SUM(S*(M=7)) AS S7, 
 -SUM(S*(M=8)) AS S8, 
 -SUM(S*(M=9)) AS S9, 
 -SUM(S*(M=10)) AS S10, 
 -SUM(S*(M=11)) AS S11, 
 -SUM(S*(M=12)) AS S12
 FROM
 (SELECT Center, IncomePaymentSumCalc AS S, Month(PaymentDate) AS M
  FROM qdfPayments WHERE Year(PaymentDate)=2015 And Center IS NOT NULL)
 GROUP BY Center) T
 
LEFT JOIN
 
/* суммы каждого Center за предыдущие годы */ 
(SELECT Center, SUM(IncomePaymentSumCalc) AS S0
 FROM qdfPayments
 WHERE Year(PaymentDate) < 2015 And Center IS NOT NULL
 GROUP BY Center) X
 
ON T.Center=X.Center


но тут есть такой нюанс:
если у какого-то значения Center НЕ будет записей в 2015 году, оно вообще не попадет в итоговый результат,

тогда как, возможно, захочется увидеть его строку с цифрами итога за пред.годы

и если это так, то для этого нужен FULL OUTER JOIN, которого нету в MSA,
хотя его можно имитировать, но такой запрос будет несколько сложнее
...
Рейтинг: 0 / 0
10.02.2016, 23:48
    #39168130
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
как вариант, можно еще сделать это кросс-запросом, типа:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
TRANSFORM MIN(SS)
SELECT Center
FROM
(
SELECT T.Center,T.Y,T.M,
(SELECT Sum(S) FROM SRC T1 WHERE T1.Center=T.Center AND T1.ord<=T.ord) AS SS
FROM SRC T
) X
WHERE Y=2015
GROUP BY Center
PIVOT M IN (
'Январь',
'Февраль',
'Март',
'Апрель',
'Май',
'Июнь',
'Июль',
'Август',
'Сентябрь',
'Октябрь',
'Ноябрь',
'Декабрь'
)


используется (под)запрос SRC:
Код: sql
1.
2.
3.
4.
5.
SELECT Center, Year(PaymentDate) AS Y, Format(PaymentDate,"mmmm") AS M,
 Val(Format(PaymentDate,"yyyymm")) AS ord, Sum(IncomePaymentSumCalc) AS S
FROM qdfPayments 
WHERE Center IS NOT NULL
GROUP BY Center, Year(PaymentDate), Format(PaymentDate,"mmmm"), Val(Format(PaymentDate,"yyyymm"))


но перекрестный запрос на таком подзапросе (с нарастающим итогом) будет тормозить на объемах

З.Ы.
помотрите в соседней вашей ветке, там есть вполне норм.вариант.
...
Рейтинг: 0 / 0
15.02.2016, 12:18
    #39171198
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
непоймучка,
...
Рейтинг: 0 / 0
15.02.2016, 12:19
    #39171201
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
...
Рейтинг: 0 / 0
15.02.2016, 13:18
    #39171278
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
Ainur.sm,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
SELECT tblCenter.naim_center, 'Нераспределенная прибыль' AS ПАССИВ,
 Sum(S*(Not Y)) AS Итог_2014,
 -Sum(S*(M=1)*Y)+Итог_2014 AS Январь,
 -Sum(S*(M=2)*Y)+Январь AS Февраль,
 -Sum(S*(M=3)*Y)+Февраль AS Март,
 -Sum(S*(M=4)*Y)+Март AS Апрель,
 -Sum(S*(M=5)*Y)+Апрель AS Май,
 -Sum(S*(M=6)*Y)+Май AS Июнь,
 -Sum(S*(M=7)*Y)+Июнь AS Июль,
 -Sum(S*(M=8)*Y)+Июль AS Август,
 -Sum(S*(M=9)*Y)+Август AS Сентябрь,
 -Sum(S*(M=10)*Y)+Сентябрь AS Октябрь,
 -Sum(S*(M=11)*Y)+Октябрь AS Ноябрь,
 -Sum(S*(M=12)*Y)+Ноябрь AS Декабрь
FROM tblCenter
 LEFT JOIN (SELECT Center,
 nz(-IncomeAmount*(ManagerPayCalc='Закрыт' And TransactionType='Поступления'),0)
+nz(+PaymentAmount*(ManagerPayCalc='Закрыт' And TransactionType='Затраты по заявке'),0)
+nz(+PaymentAmount*(TransactionType='Расходы прочие'),0)
+nz(+PaymentAmount*(ManagerPayCalc='Прибыль, дивиденды'),0) AS S,
 Month(PaymentDate) AS M, Year(PaymentDate)=2015 AS Y
 FROM qdfPayments WHERE Year(PaymentDate)<=2015 And Center IS NOT NULL)  AS [%$##@_Alias]
   ON tblCenter.id_center = [%$##@_Alias].Center
GROUP BY tblCenter.naim_center, 'Нераспределенная прибыль';
...
Рейтинг: 0 / 0
15.02.2016, 13:39
    #39171294
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
ПЕНСИОНЕРКА,
Спасибо. Но мне надо добавить left join к

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT Center, -SUM(S*(NOT Y)) AS Итог_2014, SUM(S*(M = 1)*Y)+Итог_2014 AS Январь,
 SUM(S*(M = 2)*Y)+Январь AS Февраль, SUM(S*(M = 3)*Y)+Февраль AS Март, 
 SUM(S*(M = 4)*Y)+Март AS Апрель, 
 SUM(S*(M = 5)*Y)+Апрель AS Май, 
 SUM(S*(M = 6)*Y)+Май AS Июнь, SUM(S*(M = 7)*Y)+Июнь AS Июль, 
 UM(S*(M = 8)*Y)+Июль AS Август, 
 SUM(S*(M = 9)*Y)+Август AS Сентябрь, SUM(S*(M = 10)*Y)+Сентябрь AS Октябрь, 
 SUM(S*(M = 11)*Y)+Октябрь AS Ноябрь, SUM(S*(M = 12)*Y)+Ноябрь AS Декабрь
FROM [SELECT Center, IncomePaymentSumCalc AS S, Month(PaymentDate) AS M, Year(PaymentDate) = 2015 AS Y
 FROM qdfPayments WHERE Year(PaymentDate)<= 2015 AND Center IS NOT NULL]. AS [%$##@_A]
GROUP BY Center



Из таб. qdfPayment делаем группировку по Centr с нарастающим итогом с учетом предыдущего года. Надо сделать Join со 2 табл. tblCenter где имеет столбец Center и нужно вывести те Center которые не используется в первой таблице.


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
SELECT tblCenter.center, 'АКТИВ' AS ПАССИВ,
 -Sum(S*(Not Y)) AS Итог_2014,
 Sum(S*(M=1)*Y)+Итог_2014 AS Январь,
Sum(S*(M=2)*Y)+Январь AS Февраль,
Sum(S*(M=3)*Y)+Февраль AS Март,
Sum(S*(M=4)*Y)+Март AS Апрель,
Sum(S*(M=5)*Y)+Апрель AS Май,
 Sum(S*(M=6)*Y)+Май AS Июнь,
Sum(S*(M=7)*Y)+Июнь AS Июль,
 Sum(S*(M=8)*Y)+Июль AS Август,
 Sum(S*(M=9)*Y)+Август AS Сентябрь,
Sum(S*(M=10)*Y)+Сентябрь AS Октябрь,
 Sum(S*(M=11)*Y)+Октябрь AS Ноябрь,
 Sum(S*(M=12)*Y)+Ноябрь AS Декабрь
FROM tblCenter
 LEFT JOIN (SELECT Center, IncomePaymentSumCalc
 AS S,
 Month(PaymentDate) AS M, Year(PaymentDate)=2015 AS Y
 FROM qdfPayments WHERE Year(PaymentDate)<=2015 And Center IS NOT NULL)  AS [%$##@_Alias]
   ON tblCenter.center = [%$##@_Alias].Center
GROUP BY tblCenter.center, ' АКТИВ'
...
Рейтинг: 0 / 0
15.02.2016, 13:59
    #39171305
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015
ПЕНСИОНЕРКА, СПАСИБО !!!!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access. Sql Inner join.Объединить 2 таблицы суммировать итог до 2015+ январь за 2015 / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]