Я использую Teiid 9.3.7 с Wildfly 10 из-за совместимости версий Teiid Designer. Я пытаюсь создать представление из плоского файла. В файле есть два разных типа записей. Каждый тип записи имеет ключевой атрибут, который мне нужен для объединения с другими таблицами, но положение ключевого атрибута отличается для каждого типа записей. Первое число (4) скажет мне, какой тип записи находится в этой строке. Я импортировал источник данных и проанализировал каждую строку таким же образом, поэтому я могу поймать ключевой атрибут из обоих типов записей, но как разные столбцы. Преобразование представления выглядит следующим образом:
SELECT A.TYPE, A.column_1, A.ID, A.column_2, A.KEY_ATTRIB_1, A.column_3, A.KEY_ATTRIB_2, A.column_4 FROM (EXE C CorrSourceModel.getTextFiles ('my_input.txt')) AS f, TEXTTABLE (f.file COLUMNS TYPE string WIDTH 4, column_1 string WIDTH 32, ID string WIDTH 9, column_2 string WIDTH 2466, KEY_ATTRIB_1 string WIDTH 25, column_3 string WIDTH 1445, KEY_ATTRIB_2 string WIDTH 13, column_4 string WIDTH 2854) AS A
Таким образом, в представлении я могу видеть оба ключевых атрибута в их столбце нормально. Последняя схема виртуального представления, которую мне нужно построить, - это исходная строка строки, ключевой атрибут этой строки и дополнительные атрибуты, которые я присоединяю из другого источника данных с этим ключевым атрибутом. Итак, для этого мне нужно протестировать первый атрибут (4-di git number), чтобы я знал, что столбец ведьмы является моим ключевым атрибутом для строки. Это похоже на то, что мне нужен оператор IF ... ELSE.
Если есть способ выполнить sh это? Спасибо.