Здравствуйте, помогите исправить ошибку в запросе:
Есть таблица:
SELECT
reservtable.sudovlad,
reservtable.summa,
reservtable.years,
((reservtable2.summa2 - reservtable.summa) / reservtable.summa * 100) AS percent,
reservtable2.summa2,
reservtable2.years2
FROM
(SELECT
sudovlad,
SUM(gruz_pass) AS summa,
EXTRACT(YEAR FROM data_vih_p_ot) AS years
FROM
ships
WHERE
sudovlad IN ('Русфлот, ООО', 'АрктикТранс ОИЛ, ООО','pere')
GROUP BY EXTRACT(YEAR FROM data_vih_p_ot)) reservtable,
(SELECT
sudovlad,
SUM(gruz_pass) AS summa2,
EXTRACT(YEAR FROM data_vih_p_ot) AS years2
FROM
ships
WHERE
sudovlad IN ('Русфлот, ООО', 'АрктикТранс ОИЛ, ООО','pere')
GROUP BY EXTRACT(YEAR FROM data_vih_p_ot)) reservtable2
WHERE
reservtable.years = 2018
OR reservtable2.years2 = 2017
Выводит результат
Необходимо, чтобы результат был вида:
Русфлот, ООО' 14 2018 -22,2 18 2017
АрктикТранс ОИЛ 28 2018 100 0 2017
pere 69 2018 475 12 2017
У какого-либо судовладельца есть данные за 2018 и 2017 год перевозки, бывает такое, что перевозчик в 2017 или в 2018 году не участвовал в перевозках, поэтому данные только за один год.
Но необходимо получить сводную таблицу в которой:
- Судовладелец
- Количество перевезенного груза
- 2018 год
- Процент как разница
- Количество перевезенного груза
- 2017 год
Если данных нет, например за 2017 год, чтоб те столбцы имели 0 или ничего вообще.