Я пытаюсь написать хранимую процедуру для извлечения некоторой статистической совокупности из базы данных.Использование динамического выбора столбцов хранимой процедуры mysql
Я хотел бы внести изменения в процедуру, позволяющую динамически выбирать столбцы.
Мои первые мысли были использовать случай или IF заявление, чтобы выбрать различные столбцы
DELIMITER//
CREATE PROCEDURE 'procStats'(IN buySell varchar(4))
SELECT
CASE
WHEN buySell = 'Buy' THEN AVG(salesTransactions.BuyPrice) AS AveragePrice,
WHEN buySell = 'Sell' THEN AVG(salesTransactions.SellPrice) AS AveragePrice,
END CASE;
MONTHNAME(salesTransactions.DateOfTransaction) as TransactionMonth
FROM
salesTransactions
GROUP BY
TransactionMonth
LIMIT 6;
END//
Теперь я не думаю, что заявления случае предназначены для этой цели, и в настоящее время он не работает .. Можно ли достичь вышеуказанного?
FYI - Я полностью знаю, что я мог бы просто выбрать оба столбца, но я не хочу показывать оба столбца в своем веб-приложении.
Привет, спасибо за предложение. Я боялся, что это будет ответ. Просто подумав, что это будет много повторений кода, учитывая все, что нужно изменить, это 1 столбец (1 строка кода) – Gravy
@Gravy Обновлен мой ответ. Я сошел с ума :) – fancyPants
OOOH, это выглядит хорошо ... У меня будет игра и отметьте правильный ответ, как только я заработаю. Спасибо за помощь. – Gravy