Gid*_*oon 3 sql oracle sql-view
嗨试图在oracle中创建一个视图.但是我的代码中出现错误,我无法解决如何解决问题.目前我正在尝试创建一个显示管理者的视图,他们的名字和名字也是他们分配的诊所.诊所的PK和诊所地址的FK所有地址都存储在该表中(是的,我知道它是不标准,但这是我选择这样做的方式)所以我也想显示他们工作的诊所的地址细节
当然这包括两个WHERE语句,我不确定如何实现第一个是STAFFJOBNAME"MANAGER"的地方
第二个是ADDRESSNO在两个表上匹配的地方
CREATE VIEW MANAGER AS
SELECT STAFF.staffno,STAFF.staffFirstName,STAFF.staffLastName,CLINIC.clinicNo, CLINIC.addressNo
FROM STAFF,CLINIC
WHERE addressNo =
(
SELECT addressNo, addressStreet, addressCity, addressCounty, addressPostcode, addressTelephone,
FROM ADDRESS,
INNER JOIN CLINIC,
ON ADDRESS.addressNo = CLINIC.addressNo
) AND STAFF.staffJobName = 'MANAGER';
Run Code Online (Sandbox Code Playgroud)
我也有这个版本.所以我不确定哪一个更接近正确的一个.
CREATE VIEW MANAGER
(
AS
SELECT STAFF.staffno,STAFF.staffFirstName,STAFF.staffLastName,CLINIC.clinicNo, CLINIC.addressNo, ADDRESS.addressNo, ADDRESS.addressStreet, ADDRESS.addressCity, ADDRESS.addressCounty, ADDRESS.addressPostcode, ADDRESS.addressTelephone,
FROM ADDRESS, STAFF,
INNER JOIN CLINIC,
ON ADDRESS.addressNo = CLINIC.addressNo
);
Run Code Online (Sandbox Code Playgroud)
CREATE VIEW MANAGERANDCLINIC AS
SELECT STAFF.staffno,STAFF.staffFirstName,STAFF.staffLastName,CLINIC.clinicNo, ADDRESS.addressStreet, ADDRESS.addressCity, ADDRESS.addressCounty, ADDRESS.addressPostcode, ADDRESS.addressTelephone
FROM STAFF,CLINIC, ADDRESS
WHERE (CLINIC.CLINICMANAGERNO = STAFF.STAFFNO) AND
(CLINIC.ADDRESSNO = ADDRESS.ADDRESSNO)
ORDER BY CLINIC.CLINICNO;
Run Code Online (Sandbox Code Playgroud)
最终找到了我自己的问题的答案
| 归档时间: |
|
| 查看次数: |
34787 次 |
| 最近记录: |