У меня есть хранимая процедура, которая возвращает несколько значений (1 строка). Мне нужно использовать результаты этой хранимой процедуры в запросе выбора.Использовать результаты хранимой процедуры в операторе select [MySql]
Вот псевдокод того, как бы мне хотелось (такой синтаксис не существует, но давайте сделаем вид, что он позволит сохранить 3 значения, которые моя хранимая процедура возвращает, в C, D и E):
SELECT
t1.A, t1.B,
MyStoredProc(t1.A) AS (C, D, E)
FROM
t1
ORDER BY
D
LIMIT
1
(на стороне клиента, мне нужно, чтобы получить A, B, C, D и E)
можно переписать хранимые процедуры сохраненной функции, которая возвращает значения в виде каскадной строки с разделителями и разобрать вне значения в запросе, но я хотел бы найти более чистое решение.
Почему бы не вызвать вашу хранимую функцию три раза, с разными параметрами? – eggyal
eggyal, я не уверен, что понимаю, что вы имеете в виду. – nightcoder
'SELECT t1.A, t1.B, myStoredFunc (t1.A, 1) AS C, myStoredFunc (t1.A, 2) AS D, myStoredFunc (t1.A, 3) AS E FROM t1 ORDER BY D LIMIT 1 ' – eggyal