HospitalCode
列、、、WardNo
を含むビューを作成しようとしています。これらの列にHospital、Ward BedNo
、DateLastServiced
Bed、LastServicedという名前を付けています。
CREATE VIEW HospitalCode, WardNo, BedNo, DateLastServiced
AS SELECT * FROM BED, WARD
キーワードがないというエラーが表示されます。誰か助けてもらえますか?
SQLに3つのエラーがあります。
ビューの列の名前を定義するには、CREATE VIEWステートメントのビュー名の後に列をリストします(マニュアルに記載されています) 。
CREATE VIEW MyView1
(
hospital,
Ward,
Bed
Last_Serviced
)
AS
SELECT bed.HospitalCode,
ward.WardNo,
bed.BedNo,
ward.DateLastServiced
FROM BED
JOIN WARD on bed.bedno = ward.bedno;
関連する2つのテーブルの定義を投稿しなかったため、どちらの列がどのテーブルからのものかを推測する必要がありました。不足している情報を調整するには、選択を調整する必要があります。しかし、それはあなたに十分な情報を与えるはずです
ビュー列の名前を変更する別のオプションは、列エイリアスを使用して元の列を選択することです。bed.HospitalCode as hospital
ビューの名前を見逃しましたこれを試してください:
CREATE VIEW MyView1 AS SELECT HospitalCode, WardNo, BedNo, DateLastServiced
FROM BED, WARD
また、テーブルの構造がわからないため、SELECTについてもわかりません。
アップデート
ORA-00918: 列の定義があいまいです
このエラーは、BED と WARD の両方のテーブルが同じ列名を持っているため、Oracle がどちらを使用するかを判断できないことを意味します。
ポスト出力
DESCRIBE TABLE BED;
DESCRIBE TABLE WARD;