我有一個是這樣的一個過程: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