Вставьте в пустую таблицу с РЕГИСТРОМ TERADATA

#sql #teradata #teradatasql

Вопрос:

Я хочу заполнить пустую таблицу несколькими столбцами (ГОД, КВАРТАЛ, КЛЕВЕТА, ЧИСЛО, МЕТКА ВРЕМЕНИ) в Teradata. В этой таблице есть только столбцы LIBEL и NUMBER, которые варьируются в зависимости от соответствующих условий (…) . В настоящее время у меня есть 16 небольших запросов на вставку, которые работают, но я ищу способ вставить их все одновременно:

     -- Example request n°1 :
    INSERT INTO DESTINATION_TABLE
    (YEAR,
    QUARTER,
    LIBEL,
    NUMBER,
    TIMESTAMP)
    VALUES
    ((SELECT YEAR FROM DATE_TABLE),
    (SELECT QUARTER FROM DATE_TABLE),
    'EXAMPLE LIBEL 1',
    (SELECT ...
    INNER JOIN ...),
    CURRENT_TIMESTAMP);

    -- Example request n°2 :
    INSERT INTO DESTINATION_TABLE
    (YEAR,
    QUARTER,
    LIBEL,
    NUMBER,
    TIMESTAMP)
    VALUES
    ((SELECT YEAR FROM DATE_TABLE),
    (SELECT QUARTER FROM DATE_TABLE),
    'EXAMPLE LIBEL 2',
    (SELECT ...
    INNER JOIN ...),
    CURRENT_TIMESTAMP);
 

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

Я заранее благодарю вас за вашу помощь!

Комментарии:

1. Можете ли вы рассказать больше о своей логике, кроме (…)? Я думаю, что что-то подобное INSERT INTO your table SELECT Year, Quarter, <some case logic>, (...) FROM DATE_TABLE , вероятно, сработает, но невозможно сказать, не зная, как работают ваши данные. Некоторые примеры данных и желаемые результаты будут иметь большое значение здесь.