该数据库有几个表,tblPizza,然后它的浇头,tblCheese,tblMeat和tblVeggie表。 我想写会采取VARCHAR参数,可以仰望priceFactor每个表,把它们相加,并返回小数一个MySQL的功能。 谷歌搜索,并在这里寻找之后,我拼凑这一点。 我在这里还是在谷歌找到的结果都没有试图做足够接近我想要做的是一个答案。
DELIMITER $$
CREATE FUNCTION `dbname`.`calculatePrice` (cheese VARCHAR(50), meat VARCHAR(50), veg VARCHAR(50))
RETURNS DECIMAL
BEGIN
DECLARE price DECIMAL;
SET price = SUM(SELECT priceFactor AS cheesePrice UNION ALL SELECT priceFactor AS meatPrice FROM tblMeat WHERE meatName = meat UNION ALL SELECT priceFactor AS vegPrice FROM tblVeggie WHERE veggieName = veg) FROM tblCheese WHERE cheeseName = cheese);
RETURN price;
END
MySQL不喜欢SELECT SUM后,但我不知道如何得到我想要的无子查询。 有重复的列名翻过每个表与表之间没有相关性来证明一个JOIN。
其结果将被踢回PHP,这将JSON它一起jQuery的。
谢谢! 的99%的时间,我能找到正是我需要在这里^ _ ^
编辑需要注意的是它的则params的可能(也只能一个)可以为空。 用户只需要选择两个比萨配料,但不能选择比这少。