【发布时间】:2018-11-14 02:10:40
【问题描述】:
我正在使用 oracle SQL developer,创建视图工具。我有一个名为 LastNameFirst 的函数,我想用它来重新组织客户的名字/姓氏,以显示姓氏在前。
SELECT SALE.SaleID,SALE.SaleDate, CUSTOMER.LastNameFirst(LastName,FirstName),
SALE_ITEM.SaleItemID,SALE_ITEM.ItemID,ITEM.ItemDescription, ITEM.ItemPrice
FROM SALE_ITEM
INNER JOIN SALE on SALE.SaleID = SALE_ITEM.SaleID
INNER JOIN ITEM on ITEM.ItemID = SALE_ITEM.ItemID
INNER JOIN CUSTOMER on CUSTOMER.CustomerID = SALE.CUSTOMERID;
我得到的错误是: ORA-00904: "客户"."LASTNAMEFIRST": 标识符无效
如何在我的 select 语句的那部分调用函数?除了以某种方式使用“交叉应用”或“外部应用”之外,我似乎找不到在涉及连接的选择语句中调用函数的任何示例。我理解(我认为)语法是
SELECT 'tableName'.'columnName'
而且我知道我的函数不是列,这就是我收到该错误的原因。但我真的不确定如何设置代码。我尝试将其更改为:
SELECT SALE.SaleID,SALE.SaleDate,CUSTOMER.LastName, CUSTOMER.FirstName AS LastNameFirst(LastName,FirstName),SALE_ITEM.SaleItemID,SALE_ITEM.ItemID,ITEM.ItemDescription, ITEM.ItemPrice
但这样的事情对我也没有任何作用。我会很感激任何人能给我的帮助。
【问题讨论】: