Darsh12345 Ответов: 1

Синтаксис погрешность около str_to_date(date_format(компания "Новые системы" (), '%Д-%В-%Г'), '%Д-%В-%Г')-Макс(ren_date)&ГТ;=7


синтаксическая ошибка рядом с str_to_date(date_format(компания "Новые системы" (),'%Д-%В-%Г'),'%Д-%В-%Г')-Макс(ren_date)&ГТ;=7


что такое правильный синтаксис?

Что я уже пробовал:

СОЗДАЙТЕ ИЛИ ЗАМЕНИТЕ ПРЕДСТАВЛЕНИЕ HWP_LASTRENEWED (REGNO, WPNO, PERMITSTATUS, PROCESSSTATUS, LASTRENDATE, DAYS, HTYPE, SRNO) КАК
(
выберите regno, wpno, permitstatus, processstatus, max(ren_date) в качестве lastrendate,
str_to_date(date_format(компания "Новые системы" (),'%Д-%В-%Г'),'%Д-%В-%Г')-Макс(ren_date) дней , 'renw как htype, '0', как срно
от hwp_renewal
имея permitstatus='обновлено'
и str_to_date(date_format(компания "Новые системы" (),'%Д-%В-%Г'),'%Д-%В-%Г')-Макс(ren_date)&ГТ;=7
группа по wpno, permitstatus, regno, processstatus
союз
выберите reg_no как regno, wp_no как wpno, permitstatus, processstatus, permitdate как lastrendate,
(str_to_date(date_format(компания "Новые системы" (),'%Д-%В-%Г'),'%Д-%В-%Г')-permitdate) Как дней, запрос' как htype, срно
из hwp_hotwork, где wp_no равно null, а reg_no равно null и
( (permitstatus='просила' и processstatus=Э') или (permitstatus='утвержден' и processstatus='Провер') )
и str_to_date(date_format(компания "Новые системы" (),'%Д-%В-%Г'),'%Д-%В-%Г')-permitdate &ГТ;=7
);

Bryian Tan

отлично смотритесь рядом с этой группой ... имеющий.. пункт в неправильном порядке.

Darsh12345

все еще показывает ошибку

1 Ответов

Рейтинг:
0

Mohibur Rashid

Есть много проблем с вашим запросом.
Я объясню некоторые из них, и это может улучшить ваш запрос

    -- What do you expect from this statement? I am not sure. Are you subtracting two date with max date?
  str_to_date(date_format(sysdate(),'%d-%b-%Y'),'%d-%b-%Y') - max(ren_date) days 
-- few issue I will address from this statement
-- You are generating todays date by 
  SELECT str_to_date(date_format(sysdate(),'%d-%b-%Y'),'%d-%b-%Y'); 
--  IMPROVED version
  SELECT DATE(NOW());
-- Second issue subtraction:
-- you are running something like this
  SELECT "2018-07-09"-"2018-07-02"; 
-- Improved version 
  SELECT DATEDIFF("2018-07-09", "2018-07-02"); 
-- next issue max command, looks okay but I will still suggest to split up the query
-- examle
   SELECT
      a
    , b
    , '0'  as zero
    , 'd'  as d
   FROM (
     SELECT 
         aa as a
       , MAX(bb) as b
     FROM
      table_tbl
     GROUP BY a
     HAVING b > 7

   )



Если у вас есть еще какие-то вопросы, пожалуйста, дайте мне знать.