Это мой запрос. Но я получаю сообщения об ошибках:
Сообщение 102, Уровень 15, Состояние 1, Строка 1
Неверный синтаксис рядом с '.2017'.
Сообщение 102, Уровень 15, Состояние1, строка 4
Неверный синтаксис рядом с '.2017'.
Msg 102, Уровень 15, состояние 1, строка 15
Неверный синтаксис рядом с 'MYAC'.
Msg 102, Уровень 15, Состояние 1, Строка 21
Неверный синтаксис рядом с 'BSUM'.
Изображение:
SELECT
MakineListe.MakineAdi,
IFNULL(MYABC.2017, 0) AS '2017',
IFNULL(MYABC.2018, 0) AS '2018',
IFNULL(MYABC.2019, 0) AS '2019',
IFNULL(MYABC.Stok, 0) AS Stok
FROM
MakineListe
LEFT JOIN
(SELECT
MYAC.ParcaMakineAdi,
MYAC.2017 AS '2017', MYAC.2018 AS '2018', MYAC.2019 AS '2019',
BSUM.TOTAL as Stok
FROM
(SELECT
MakinelerVeParcalar.ParcaMakineAdi,
SUM(CASE WHEN YEAR(Siparisler.SiparisTarihi) = 2017 THEN MakinelerVeParcalar.Miktar ELSE 0 END) AS '2017',
SUM(CASE WHEN YEAR(Siparisler.SiparisTarihi) = 2018 THEN MakinelerVeParcalar.Miktar ELSE 0 END) AS '2018',
SUM(CASE WHEN YEAR(Siparisler.SiparisTarihi) = 2019 THEN MakinelerVeParcalar.Miktar ELSE 0 END) AS '2019'
FROM
MakinelerVeParcalar
LEFT JOIN
Siparisler ON Siparisler.IsEmriNo = MakinelerVeParcalar.IsEmriNo
GROUP BY
MakinelerVeParcalar.ParcaMakineAdi) MYAC
LEFT JOIN
(SELECT
ParcaMakineAdi, SUM(Stok.Miktar) AS TOTAL
FROM
Stok
GROUP BY
ParcaMakineAdi) BSUM ON BSUM.ParcaMakineAdi = MYAC.ParcaMakineAdi
) MYABC ON MakineListe.MakineAdi = MYABC.ParcaMakineAdi
ORDER BY
MakineListesi.MakineAdi;