我有一个是这样的一个过程:MySQL中的程序在选择?
mysql> call Ticket_FiscalTotals(100307);
+---------+--------+----------+------------+------------+
| Service | Items | SalesTax | eTaxAmount | GrandTotal |
+---------+--------+----------+------------+------------+
| 75.00 | 325.00 | 25.19 | 8.00 | 433.19 |
+---------+--------+----------+------------+------------+
1 row in set (0.08 sec)
我想内选择从调用这个过程,就像这样:
SELECT Ticket.TicketID as `Ticket`,
Ticket.DtCheckOut as `Checkout Date/Time`,
CONCAT(Customer.FirstName, ' ', Customer.LastName) as `Full Name`,
Customer.PrimaryPhone as `Phone`,
(CALL Ticket_FiscalTotals(Ticket.TicketID)).Service as `Service`
FROM Ticket
INNER JOIN Customer ON Ticket.CustomerID = Customer.CustomerID
ORDER BY Ticket.SiteHomeLocation, Ticket.TicketID
不过,我知道,这是痛苦的错误。有人能指点我的方向吗?我将需要访问过程中的所有列,以便在最终的Select中进行(加入?)。该过程中的SQL代码相当痛苦,因此首先它的原因!
尝试使用用户定义的函数。您不能在查询中使用过程,但可以使用udfs。 – pavanred 2011-12-14 06:03:59
@pavanred - 我的印象是UDF只能返回一个值,而不是整行? – Fuginator 2011-12-14 06:08:10