SQL-запрос представлял собой частичный код файла Python, tt1 val
и tt2 val
отлично работают в одном файле, теперь я хотел бы вычислить tt1.val/tt2.val
, мне нужно ввести параметр code
,start_date
и end_date
,
the date from table_name_a is '20191107'
the date from table_name_b is '2019-11-07 00:00:00'
Вот почему я использую substr(regexp_replace(date,'-',''),1,8)
в table_name_b, я вставил свой неправильный SQL-запрос, как показано ниже, могу ли я использовать case when
или if else
для использованиядве разные переменные даты? Большое спасибо за любой совет.
SELECT code, tt1.val/tt2.val
FROM (
(
SELECT code,
CAST (exp(sum(ln(val+1))) -1 AS decimal(20,16)) val
FROM (
SELECT code, val
from table_name_a
WHERE code IN ('%(code)s')
AND date BETWEEN '%(start_date)s' AND '%(end_date)s')
GROUP BY code
) AS tt1
(
SELECT code,
CAST (exp(sum(ln(val+1))) -1 AS decimal(20,16)) val
FROM (
SELECT code, val
from table_name_b
WHERE code IN ('%(code)s')
AND substr(regexp_replace(date,'-',''),1,8) BETWEEN '%(start_date)s' AND '%(end_date)s' AS t1
GROUP BY code
) AS tt1
) AS tt3