SET и Select Query объединяют команду Run in Single MySql Query для передачи результата в pentaho - PullRequest
0 голосов
/ 22 октября 2018

Ниже 3 запросов я хочу выполнить один запрос в mysql, и я передам этот результат компоненту запроса Pentaho для построения некоторого графика.

SET @input = select "22:4,33:4" from dual;  
SET @count := 0;     
select SUBSTRING_INDEX(@input, ' ', (@count) * 2), ' ', -1) as xyz, som_cnt as count from abc;   

Пример строки неизвестной длины (22: 4,33: 4,96: 6 ....)

expected output 

xyz      count
---------------- 
22        4
33        4
96        6

ссылка - Запрос Mysql для разделения пробела Строка Конвертировать в 2 столбца

  • Установитьquery count = 0, Если я могу объединить этот запрос SET в запросе выбора, что тоже нормально.
  • Выберите запрос, выполнив некоторый анализ входной строки, используя count - просто добавлена ​​выборочная подстрока.(логика синтаксического анализа добавлена ​​здесь)

Я хочу, чтобы та же функциональность в ссылке mysql, показанной ниже, я попробовал это решение, но я не уверен, что set_config работает в mysql. УСТАНОВИТЬ и ВЫБРАТЬ в одном запросе?

или любой метод для запуска процедуры хранения в компоненте Query из Пентахо.

1 Ответ

0 голосов
/ 22 октября 2018

Вы можете переместить инициализацию пользовательских переменных сеанса в производную таблицу, а Cross Join с другими вашими таблицами:

SELECT SUBSTRING_INDEX(@input, ' ', (@count) * 2), ' ', -1) AS xyz, 
       som_cnt AS `count` 
FROM abc
CROSS JOIN (SELECT @count := 0, 
                   @input := '22:4,33:4'
           ) AS user_init_vars 
...