SQL Server: запрос не соответствует действительности - PullRequest
0 голосов
/ 11 ноября 2019

Это мой запрос. Но я получаю сообщения об ошибках:

Сообщение 102, Уровень 15, Состояние 1, Строка 1
Неверный синтаксис рядом с '.2017'.

Сообщение 102, Уровень 15, Состояние1, строка 4
Неверный синтаксис рядом с '.2017'.

Msg 102, Уровень 15, состояние 1, строка 15
Неверный синтаксис рядом с 'MYAC'.

Msg 102, Уровень 15, Состояние 1, Строка 21
Неверный синтаксис рядом с 'BSUM'.

Изображение: enter image description here

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; 

1 Ответ

0 голосов
/ 11 ноября 2019

Запрос теперь в порядке. Спасибо ...

select MakineListe.MakineAdi,NULLIF(MYABC.[2017],0) AS '2017', NULLIF(MYABC.[2018],0) AS '2018', NULLIF(MYABC.[2019],0) AS '2019',NULLIF(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 MakineAdi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...