%y%m%d/%h
{Name}_{Index}
-
DECLARE @MAXDATE DATETIME
SET @MAXDATE=(SELECT MAX(ENDDATE) FROM PGENIUS..STK_FIN_IDX WHERE ISVALID=1 AND RIGHT(CONVERT(CHAR(8),ENDDATE,112),4) IN ('0331','0630','0930','1231') AND ENDDATE<GETDATE())
SET @MAXDATE=(SELECT MAX(ENDDATE) FROM PGENIUS..STK_FIN_IDX WHERE ISVALID=1 AND RIGHT(CONVERT(CHAR(8),ENDDATE,112),4) IN ('0331','0630','0930','1231') AND ENDDATE<@MAXDATE)
IF EXISTS(SELECT 1 FROM PGENIUS..STK_FIN_IDX WHERE GENIUS_UID>CONVERT(BIGINT,{ID}) AND ENDDATE= @MAXDATE AND RIGHT(CONVERT(CHAR(8),ENDDATE,112),4) IN ('0331','0630','0930','1231'))
BEGIN
;with cte as (
SELECT ROW_NUMBER() over (partition by COMCODE order by ctime desc) as rn,*
FROM PGENIUS..STK_FIN_IDX A
WHERE ENDDATE=@MAXDATE AND RIGHT(CONVERT(CHAR(8),ENDDATE,112),4) IN ('0331','0630','0930','1231') AND ISVALID=1
AND EXISTS(SELECT COMCODE FROM PGENIUS..PUB_SEC_CODE WHERE ISVALID=1 AND SEC_TYPE = 1 AND MKT_TYPE IN (1,2) and LIST_STATUS in ('正常上市','发行配售期间') AND COMCODE=A.COMCODE)
)
select SEQ,CTIME,MTIME,ISVALID,CONVERT(BIGINT,GENIUS_UID) AS GENIUS_UID,COMCODE,RPT_DATE,ENDDATE,RPT_SRC,F110101,F110201,F110301,F110401,F110501,F110601,F110701,F110801,F110901,F111001,F111101,F111201,F111301,F111401,F111501,F111601,F111701,F111801,F111901,F112001,F112101,F112201,F112301,F112401,F112501,F112601,F112701,F112801,F112901,A_STOCKCODE,A_STOCKSNAME,B_STOCKCODE,B_STOCKSNAME,F111111
from cte
where rn=1
ORDER BY ENDDATE DESC,MTIME DESC
END