Ошибка при запуске сценария sql в ADW - PullRequest
0 голосов
/ 12 июня 2018

Я получаю ошибку, которая выглядит следующим образом:
Оператор вставки значений может содержать только константные литеральные значения или ссылки на переменные.

Это операторы, в которых я получаю ошибки:

INSERT INTO val.summary_numbers (metric_name, metric_val, dt_create) VALUES ('Total IP Enconters',
                                                                             (SELECT
                                                                                count(DISTINCT encounter_id)
                                                                              FROM prod.encounter
                                                                              WHERE encounter_type = 'Inpatient')

                                                                             ,
                                                                                (SELECT min(mod_loadidentifier)
                                                                                 FROM ccsm.stg_demographics_baseline)

                                                                             );


INSERT INTO val.summary_numbers (metric_name, metric_val, dt_create) VALUES ('Total 30d Readmits',
                                                                  (SELECT
                                                                     count(DISTINCT encounter_id)
                                                                   FROM prod.encounter_attr
                                                                   WHERE
                                                                     attr_name = 'day_30_readmit' AND attr_value = 1)

                                                                  ,
                                                                     (SELECT min(mod_loadidentifier)
                                                                      FROM ccsm.stg_demographics_baseline));

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

При использовании службы ADW я бы рекомендовал вам рассмотреть возможность использования операции CTAS , возможно, в сочетании с RENAME .RENAME - это операция метаданных, поэтому она быстрая, а CTAS параллельна, где INSERT INTO будет строка за строкой.

У вас все еще может быть проблема, связанная с данными, которую трудно определить без таблицы созданиязаявление.

Спасибо

0 голосов
/ 12 июня 2018

Измените ваш запрос следующим образом:

insert into val.summary_numbers
select
        'Total IP Enconters',
        (select  count(distinct encounter_id)
         from    prod.encounter
         where   encounter_type = 'Inpatient'),
        (select  min(mod_loadidentifier)
         from    ccsm.stg_demographics_baseline)
...