我有 4 张桌子
EMPLOYEE
(E#, NAME
),主键为E#
DRIVER
(E#, L#
),主键是E#
引用EMPLOYEE
TRIP
(T#, L#
), 主键是T#
, 外键L#
引用DRIVER
TRIPPT
(T#, PT#
) 主键是T#
引用TRIP
我创建了一个函数来查找驱动程序执行的最长点的长度(pt# 的总数)
到目前为止我的查询:
create or replace function LONGPT (DL# in TRIP.L#%type)
return TRIPPT.PT#%type
IS
TRIPPT# TRIPPT.PT#%type;
begin
select max (PT#)
into TRIPPT#
from TRIPPT
where T# in (select T#
from TRIP
where L# = DL#);
return nvl (TRIPPT#, 0);
end LONGPT;
如何进行选择查询以显示NAME
员工 LONGPT。不执行行程点的驱动程序名称也需要在查询中。
我努力了:
SELECT DRIVER.L# AS License_No, LONGTPT(TRIP.L#) AS "LONGEST POINT"
FROM DRIVER
LEFT OUTER JOIN TRIP on DRIVER.L# = TRIP.L#;
这仅查询 L# 和 LONGEST Point。
谁能指导我如何在显示员工姓名和我的函数 LONGPT 时执行选择语句。