0
我想寫一個存儲過程來從數據庫中拉出一些聚合統計信息。使用動態選擇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//
現在我不認爲case語句用於這一目的,它目前不工作.. 。是否有可能實現上述?
僅供參考 - 我完全知道,我可以只選擇兩列,但我不希望公開兩列到我的web應用程序。
嗨,謝謝你的建議。我擔心這會是答案。只是認爲這將是很多代碼重複考慮所有需要改變的是1列(1行代碼) – Gravy
@Gravy更新了我的答案。我不在意了:) – fancyPants
OOOH,這看起來不錯...我會盡快找到正確的答案並標記出正確的答案。感謝幫助。 – Gravy