Привет, пытаюсь создать представление в оракуле. Однако я получаю ошибки в своем коде, которые я не могу понять, как решить. В настоящее время я пытаюсь создать представление, которое показывает менеджеров, их имя и фамилию, клинику, которой они также назначены. PK клиники и FK адреса клиники. Все адреса хранятся в этой таблице (да, я знаю, что это не стандартно, но я так делаю) Поэтому я также хочу показать адрес клиники, в которой они работают
Конечно, это включает два оператора WHERE, которые я не знаю, как реализовать. Первый - это 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
);
MANAGER
вызоветORA-00913: too many values
. - person AnBisw   schedule 19.03.2014(
и)
вокруг определения представления, и у вас слишком много запятых (,
). - person Jeffrey Kemp   schedule 19.03.2014