Мое заявление SQL не нравится мой раздел над заявлением - PullRequest
0 голосов
/ 12 марта 2019

У меня есть этот простой запрос в DB2.Я получаю сообщение об ошибке во 2-й строке сверху.По какой-то причине он не хочет запускать мою линию (раздела)?

with core as(
select  *,row_number() over(partition by asgnd_to_pin order by stdt asc) as rank
from mhal_rep.stushh
where stus_cd in ('DWRT', 'FINL', 'DWFL', 'DWR', 'DWSR', 'DWPC')
AND STDT BETWEEN '2009-02-28' AND '2019-02-28'
UNION
select  *,row_number() over(partition by asgnd_to_pin order by stdt asc) as rank
from mhal_rep.stusha
where stus_cd in ('DWRT', 'FINL', 'DWFL', 'DWR', 'DWSR', 'DWPC')
AND STDT BETWEEN '2009-02-28' AND '2019-02-28'
 ),

 core1 as(
select asgnd_to_pin, stus_cd, stdt, rank, (('2019-02-28'-stdt)/365) as     
lngth_srvc
from core
where rank=1 and 
asgnd_to_pin in (
'788387',
'271562',
'155851')

select *
from core 1;

Я получаю сообщение об ошибке:

ERROR [42601] [IBM][DB2] SQL0104N An unexpected token "," was found    
following "". Expected tokens may include: "FROM INTO".

Ответы [ 2 ]

1 голос
/ 12 марта 2019

Использование

select  t.*, row_number() over(partition by asgnd_to_pin order by stdt asc) as rank
from mhal_rep.stushX t
...

вместо

select  *, row_number() over(partition by asgnd_to_pin order by stdt asc) as rank
from mhal_rep.stushX
...

Но на самом деле у вас больше проблем:
- core1 подпункт не закрыт )
- пробел между core и 1 во внешнем операторе выбора

0 голосов
/ 12 марта 2019

просто удалите пробел между ядром и 1

select *
from core1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...