#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
, вероятно, сработает, но невозможно сказать, не зная, как работают ваши данные. Некоторые примеры данных и желаемые результаты будут иметь большое значение здесь.