Excel для динамического создания сценария SQL с использованием формулы

Я пытаюсь динамически генерировать сценарии SQL INSERT с помощью формул Excel.

Мой лист Excel выглядит так, как показано ниже.

Ниже моя формула

 = "INSERT INTO MYTABLE (ROLE_ID,GROUP,SUBGROUP) values('"&D8&"','"&$E$8&"','"&$F$8&"')"

Теперь я хочу, чтобы ожидаемый результат был сгенерирован, как показано ниже;

По сути, для столбца G я хочу, чтобы сгенерированный скрипт использовал данные из столбцов D, E и F. Однако информация в столбце D будет меняться в соответствии с текущей строкой, столбцы E и F будут повторяться, пока мы не получим пустую строку. (или как мы можем использовать значение «0» в столбце D, чтобы определить, что теперь следует использовать новые значения для ГРУППЫ и ПОДГРУППЫ)

="INSERT INTO SOME_TABLE (MYROLE) значения('"&E7&"');"

INSERT INTO SOME_TABLE (MYROLE) значения (ноль); INSERT INTO SOME_TABLE (MYROLE) значения («Моя роль»);

=IF(ISBLANK(E7), "INSERT INTO SOME_TABLE (MYROLE) значения(null);", "INSERT INTO SOME_TABLE (MYROLE) значения('"&E7&"');")

вставить в MYSCHEMA.MY_DESTINATION_TABLE(COL_ID, COL2) выберите «ПОЛЬЗОВАТЕЛЬ1», COL2 из MYSCHEMA.MY_SOURCE_TABLE, где USER_ID = 'USER1';

ВСТАВИТЬ В MYSCHEMA.MY_DESTINATION_TABLE (COL_ID, COL2) ВЫБЕРИТЕ COL_ID, COL2 ИЗ MYSCHEMA.MY_SOURCE_TABLE ГДЕ COL_ID IN (ВЫБЕРИТЕ COL_ID FROM MYSCHEMA.MY_SOURCE_TABLE);

ВСТАВИТЬ В MYSCHEMA.MY_DESTINATION_TABLE (COL_ID, DESTINATION_COL2) ВЫБЕРИТЕ COL_ID, SOURCE_COL2 ИЗ MYSCHEMA.MY_SOURCE_TABLE ГДЕ COL_ID IN (ВЫБЕРИТЕ COL_ID FROM MYSCHEMA.MY_SOURCE_TABLE);

ВСТАВИТЬ В MYSCHEMA.MY_DESTINATION_TABLE (DEST_COL_ID, DEST_COL2) ВЫБИРАТЬ ИСТОЧНИК_COL_ID, СЛУЧАЙ КОГДА SOURCE_COL1 = «Мое имя 1», ТОГДА «МОЕ_ИМЯ_1» КОГДА SOURCE_COL1 = «Мое имя 2», ТОГДА «МОЕ_ИМЯ_2» -- При необходимости добавьте дополнительные сопоставления ELSE SOURCE_COL1 — случай по умолчанию, если совпадение не найдено. КОНЕЦ ИЗ MYSCHEMA.MY_SOURCE_TABLE ГДЕ SOURCE_COL_ID IN (ВЫБЕРИТЕ SOURCE_COL_ID FROM MYSCHEMA.MY_SOURCE_TABLE);

Вы пробовали функцию MAP()? =MAP(D8:D16,E8:E16,F8:F16,LAMBDA(x,y,z,IF(x=0,"","INSERT INTO MYTABLE (ROLE_ID,GROUP,SUBGROUP) values('"&z&"','"&y&"','"&z&"')"))).

Harun24hr 16.07.2024 11:09
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
1
1
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать:

=IF(D8:D16=0,"","INSERT INTO MYTABLE (ROLE_ID,GROUP,SUBGROUP) values('"&D8:D16&"','"&E8:E16&"','"&F8:F16&"')")

Другие вопросы по теме

Рассмотрим функцию Excel ЛИНЕЙН(B$3:B$18, $A$3:$A$18^{1,2,3,4,5}). Как мы можем заменить B$3:B$18 и $A$3:$A$18 переменными?
Excel автоматизирует создание динамического количества строк из другого набора данных
Автоматизировать формулу | Эксель
Нужна формула, которая поможет перепроверить значения и условия в разных столбцах
Excel – объединить все экземпляры текста перед разделителем в одну ячейку
Подсчет количества ячеек, заполненных данными на основе указанных дат в будущем
Суммируйте все ячейки, для которых соответствующая ячейка не является формулой и не возвращает #ЗНАЧЕНИЕ И дата произошла в прошлом
Сопоставление нескольких числовых строк и проверка соответствующих дат в течение 90 дней
Фильтруйте и сортируйте данные с помощью нескольких критериев столбца и строки и сопоставляйте с ними соответствующие данные с помощью фиксированных и гибких return_arrays
Фильтруйте и сортируйте данные с помощью нескольких критериев столбца и строки, а затем сопоставляйте с ними соответствующие данные с помощью нескольких гибких return_arrays