gpt4 book ai didi

sql - CREATE VIEW 使用多个表

转载 作者:行者123 更新时间:2023-12-04 23:45:43 24 4
gpt4 key购买 nike

您好,尝试在 oracle 中创建 View 。但是,我的代码中出现错误,我无法解决。目前我正在尝试创建一个显示经理,他们的名字和姓氏也分配给他们的诊所诊所的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';

我也有这个版本。所以我不确定哪个更接近正确的。

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
);

最佳答案

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;

终于找到了我自己问题的答案

关于sql - CREATE VIEW 使用多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22489505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com