Изменить SELECT изнутри ГДЕ - PullRequest
1 голос
/ 09 декабря 2011

Справочная информация:

Я пишу отчет в Avaya CMS Supervisor. Теперь, если вы не знаете, что это такое, это не имеет значения, поскольку вопрос касается SQL. Но если вы действительно знаете об этом, то это наверняка поможет.

В этой программе вы можете создавать отчеты, которые извлекают данные из базы данных (которая затем отображается пользователю). Дело в том; чтобы создать эти отчеты, вы должны использовать (нелепую) форму визуального построителя запросов типа «укажи и щелкни мышью». Тем не менее, вы можете определить каждый элемент для выбора (в SELECT -пункте) и каждый элемент в WHERE -пункте.

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

Вопрос:

Можно ли с помощью любых хаков или чего-либо изменить из WHERE, какие значения отображаются в SELECT?

Если бы простые SQL-запросы имели (переменные) переменные, это было бы более или менее допустимо:

SELECT drv-tbl.$A
FROM drv-tbl
WHERE
    $b = (SELECT value AS $A FROM table) AS drv-tbl

Ответы [ 2 ]

1 голос
/ 18 апреля 2012

Уже немного поздно, но тем не менее: стандартного способа сделать это не существует. Хакерским способом было бы сохранить нужный отчет в файл, отредактировать его и загрузить обратно в CMS Supervisor. Таким образом, вы можете использовать практически любые запросы, поддерживаемые сервером Informix в CMS.

Немного проще и все еще в рамках гарантии можно было бы выгружать нужные данные непосредственно из Informix, загружать их в Excel или что-то еще и обрабатывать там. Смотрите мою статью о том, как получить доступ к данным Informix: http://avaya.dwalin.ru/call-management-system/tutorial-using-informix-tools-to-access-cms-historical-database/

0 голосов
/ 17 апреля 2018

Более простой способ сделать это - создать собственное представление базы данных (имя должно начинаться с c_), в котором заключена логика, которую вы пытаетесь применить. После того, как представление заработает, вы должны зайти в словарь CMS и добавить представление в качестве пользовательской таблицы и добавить каждый столбец. Это необходимо, потому что это единственный способ сделать представление доступным для дизайнера.

...