Как получить мой запрос Teradata для запроса дат между? ГГГГММДД И? ГГГГММДД и

0

ЗДЕСЬ: QUERY: SELECT

FACDTE.QTR
,FACDTE.WK
,FACDTE."DATE"
,FACDTE.DIV
,FACDTE.DST
,FACDTE.FAC
,FACDTE.DAYS
,COALESCE(OOS.SCN,0) SCN
,RANK() OVER(
            PARTITION BY FACDTE.QTR,FACDTE.WK,FACDTE."DATE"
            ORDER BY  COALESCE (CAST(OOS."OOS COUNT" AS INTEGER),'ns')) AS    DIVRANK
,CAST(OOS."OOS COUNT" AS INTEGER) "OOS COUNT"

FROM 
(
SELECT 
FAC.PARENT_OP_AREA_CD DIV
,FAC.DISTRICT_FINANCE_CD DST
,FAC.STORE_ID FAC
,DTE.QUARTER_ID QTR
,DTE.WEEK_ID WK
,DTE.D_DATE "DATE"
,COUNT(DISTINCT(DTE.D_DATE)) DAYS

FROM LU_STORE_FINANCE FAC
JOIN (
            SELECT 
            DTE_L1.D_DATE
            ,DTE_L1.WEEK_ID
            ,DTE_L1.QUARTER_ID
            FROM LU_DAY_MERGE DTE_L1
            JOIN (SELECT D_DATE  FROM LU_DAY_MERGE 
            WHERE WEEK_ID=(SELECT DISTINCT(WEEK_ID) FROM LU_DAY_MERGE WHERE D_DATE =CURRENT_DATE -2)) DTE_L0 ON DTE_L0.D_DATE =DTE_L1.D_DATE AND DTE_L1.D_DATE < CURRENT_DATE 
            ) DTE
ON DTE.D_DATE BETWEEN FAC.OPENED_DT AND  FAC.CLOSED_DT AND 

КОД ЯВЛЯЕТСЯ НИЖЕ, ЧТО Я НУЖДАЮТСЯ ПРОДАТЬ ДАТЫ МЕЖДУ YYYYMMDD ГГГГММДД ВМЕСТО от использования current_DATE... Могу ли я просто вставить? YYYYMMDD И YYYYMMDD в этом, пожалуйста?

FAC.PARENT_OP_AREA_CD = '17' И НЕ FAC.STORE_ID IN (4904,3332, 1478,0412,2631,1223) ГРУППА ПО 1,2,3,4,5,6) FACDTE

LEFT JOIN 

(SELECT 
OOS_L1.STORE_ID  FAC
,DTE_L2.WEEK_ID WK
,DTE_L2.D_DATE "DATE"
,AVERAGE(TOT_CT.TOT_OOS) AS  "OOS COUNT"
,COUNT(DISTINCT(OOS_L1.SCAN_DT)) SCN

,SUM(CASE WHEN OOS_L1.PRODUCT_SOURCE_CD = 'W' THEN CASE WHEN ITM.DEPARTMENT_ID = 314 THEN OOS_L1.OOS_STR_SCAN_CNT ELSE 0 END ELSE 0 END) AS "DAIRY"


FROM 
OOS_STORE_ITEM_DAY OOS_L1
JOIN (SELECT STORE_ID,SCAN_DT ,COUNT(UPC_ID) AS TOT_OOS FROM OOS_ITEM_DETAIL WHERE SCAN_TYP_CD = 'O' GROUP BY 1,2)TOT_CT 
ON TOT_CT.STORE_ID = OOS_L1.STORE_ID AND TOT_CT.SCAN_DT=OOS_L1.SCAN_DT AND     TOT_CT.TOT_OOS>49
JOIN LU_DAY_MERGE DTE_L2 ON OOS_L1.SCAN_DT=DTE_L2.D_DATE
JOIN LU_UPC ITM ON          OOS_L1.UPC_ID = ITM.UPC_ID AND     ITM.CORPORATION_ID = 1
GROUP BY 1,2,3) OOS
ON OOS.WK = FACDTE.WK AND OOS.FAC=FACDTE.FAC AND OOS."DATE" = FACDTE."DATE"

ЗАКАЗАТЬ 1,2,3,4,5,6

  • 0
    Что вы подразумеваете под подсказкой здесь? Возможный дубликат вопроса stackoverflow.com/a/7324597/3114457
Теги:
teradata

1 ответ

0

Не уверен, в чем вопрос. Но если вы говорите о функции в Teradata SQL Assistant для размещения параметров (с помощью -Syntax):

Вы можете определить параметры в SQL Assistant с помощью ключевого слова?. Просто место? с именем параметра (без пробелов) в любом месте вашего Редактора. SQL Assistant будет запрашивать каждый параметр и искать и заменять его до того, как запрос будет отправлен в базу данных. Параметры могут возникать несколько раз в редакторе, вам просто нужно ввести значение один раз, и оно будет заменено в каждом случае.

SELECT *
  FROM myWebOrders
 where orderDate >= CURRENT_DATE - ?OrderHistory_Days
UNION ALL
SELECT *
  FROM myRetailOrders
 where orderDate >= CURRENT_DATE - ?OrderHistory_Days

или же

SELECT TOP 50 *
  FROM ?myTable

Ещё вопросы

Сообщество Overcoder
Наверх
Меню