Узел запроса базы данных в knime

Я боролся с узлом "Запрос к базе данных".
Он показывает запрос по умолчанию как "SELECT * FROM #table# "

При вводе запроса отображается сообщение об ошибке: "Неверные настройки" Заполнитель представления базы данных # table # не подлежит замене.

Что на самом деле # table # представляет?

Как выполняется узел запроса базы данных?

Кто-нибудь может ответить, пожалуйста.

1 ответ

#table# представляет таблицу в порту соединения с входящей базой данных. Узел упаковывает это входящее соединение как подзапрос, например, если у вас есть соединение с таблицей "Имена" со столбцом "Фамилия", столбцом "Имя" и столбцом "Возраст", и вы ранее использовали узел фильтра строки базы данных для фильтрации по Surname ='Smith', тогда входящее соединение будет выглядеть примерно так:

SELECT * FROM (SELECT * FROM Names) table_1234567890 WHERE "Surname"='Smith'

Если вы хотите затем использовать узел запроса базы данных для поиска всех людей, Джон Смит, в возрасте 30 - 45 лет, то в диалоговом окне узла вы задаете

SELECT * FROM #table# WHERE Forename='John' AND Age BETWEEN 30 AND 45

Теперь, если вы посмотрите на выходной порт на вкладке "Соединение", SQL будет выглядеть примерно так:

SELECT * FROM (SELECT * FROM (SELECT * FROM Names) table_1234567890 WHERE "Surname"='Smith') WHERE Forename='John' AND Age BETWEEN 30 AND 45

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