- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为航类客户数据库编写了一个 SQL 函数,用于计算客户的奖金。假设有一张 table 的顾客和一张预订的 table 。如果客户在航类预订了一些座位,它将获得与飞行时间相关的奖励。如果 customerID 没有出现在预订表中,它将返回奖金,否则计算奖金。
CREATE FUNCTION `test5`(ID int(11) ) RETURNS int(11)
BEGIN DECLARE result int;
if (select ID from customer where ID not in (select CustomerID from reservation) limit 1) then set result = -1;
else if (select ID from customer where ID in (select CustomerID from reservation) limit 1) then set result = (select sum(c.NoReservedSeats*f.FlightDurationInMinutes) as Bonus
from reservation c, flightexecution f where c.FlightNo=f.FlightNo
and f.DepartureDateAndTimeUTC = c.DepartureDateAndTimeUTC
and c.CustomerID = c.CustomerID group by c.CustomerID limit 1) ;
end if;
end if;
RETURN result;
END
这些是预订表中 CustomerID 的奖励值
+-------+
| Bonus |
+-------+
| 360 |
| 180 |
| 2280 |
| 2040 |
| 180 |
| 7180 |
+-------+
所以第一个 if 语句有效,但第二个 if 语句不起作用,我必须设置 limit 1,因为否则会得到“错误 1242 子查询返回多行”。但是有了这个 limit 1 表达式,我为每个客户获得 360 奖金,这是我的问题。
最佳答案
您没有测试 ID 参数是否在 reservations
中。应该是:
IF EXISTS (SELECT * FROM reservations WHERE CustomerID = ID)
THEN SET result = (SELECT ...)
ELSE SET result = -1
END IF;
RETURN result;
此外,您应该避免对过程参数使用与您查询的任何表中的列相同的名称。该名称是否引用查询中的参数或表列可能会令人困惑。
关于mysql - 在 sql 函数中为 customerID 分配正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54288121/
我有一个名为 orders 的表,我在其中跟踪成员(member)的所有交易。此表跟踪对其 registrationstatusid 的所有更改。我需要找到将 registrationstatusid
错误信息很清楚: 'The required column 'CustomerId' was not present in the results of a 'FromSql' operation'
我的数据库中有两个表: customer feedback “外键”位于feedback 表中,即customerID。我想知道哪个客户通过他们的id给出反馈。 请帮忙。提前致谢。 最佳答案 Sele
我有一个 GridView 和一个 ObjectDataSource 绑定(bind)在一起。除 Delete 方法外,一切都很好。它试图传递一个 Customer 对象,而不是我告诉它的 Custo
我有一个 adwords 用户的 Oauth 凭据,我能够成功调用 API 来下载报告,但我不得不在 customerId 中进行硬编码,因为我不知道如何获取它。 CustomerService 的
MVC3 Razor 的新功能 - linq to sql 花了一些时间试图找到如何: 将登录的 UsersName 与 Customer.UserName 匹配,然后为用户选择 Customer.C
我为航类客户数据库编写了一个 SQL 函数,用于计算客户的奖金。假设有一张 table 的顾客和一张预订的 table 。如果客户在航类预订了一些座位,它将获得与飞行时间相关的奖励。如果 custom
我无法使以下查询正常工作。如果我删除查询的最后一行,它将起作用。非常感谢任何建议。 DELETE FROM "ProjectMaster" USING "ProjectMaster" ua2 WHER
我正在尝试为我的应用程序的用户在 Parse 后端保存一个 customerId。 以下代码可能有什么问题: var Stripe = require("stripe"); Strip
尝试使用 Braintree 设置 iOS 和 PHP 支付系统。 我可以设置一个 clientToken $clientToken["client_token"] = Braintree_Clien
我正在使用 JavaScript 和 ajax 将数组和单个值传递给 Controller ,当调用 Controller 方法时,传入的是单个值而不是(customerID 的数组),我想知道为
我正在开发一个允许用户连接 AdWords 帐户的网络应用程序。1)因此,一旦用户连接了他们的 AW 帐户,我就会从 AW API 获取 token ,其中包括访问 token 和刷新 token 。
这是我的索引代码: public class InvoiceSummaryView { public DateTime DueDate { get; set; } public str
我正在开发将由许多客户使用的 Multi-Tenancy 商店 Web 应用程序(软件即服务)。我只想使用一个数据库。我将不胜感激有关如何在数据库中处理此问题的建议/反馈: 每个客户的单独架构。每当新
laravel 身份验证系统默认使用 Id,但是假设您有一个包含许多表的更大数据库,您如何指定客户表 $user = User::where('name', '=', $name); if($user
我目前有 2 个 Arraylist,其中包含 Customer 和 Bike 构造函数数据。我成功地输入并租用 Arraylist 使用: rent.add(new Rent(customers.g
laravel 身份验证系统默认使用 Id,但是假设您有一个包含许多表的更大数据库,您如何指定客户表 $user = User::where('name', '=', $name); if($user
Request.QueryString 不是很安全。以防有人登录。只需输入 URL myaccount.aspx?custId=10 一个人可以获得另一个客户的信息。 所以它一点也不安全。发布这个的原
我的教授向我提出了一个问题,关于做出如下声明 有多少客户是“鲸鱼”,即一生中花费超过 4,000 美元的客户?有多少是花费不到 20 美元的“虾”? 这是我们正在使用的在线数据库:http://www
我有一张交易表,因为每个客户都有几笔交易,每笔交易都有积分。 我需要运行一个 mysql 查询来查找每个客户在特定时间段内的积分总和。 每笔交易都有一个 CustomerID、Points、Trans
我是一名优秀的程序员,十分优秀!