-5

HospitalCode列、、、WardNoを含むビューを作成しようとしています。これらの列にHospital、Ward BedNoDateLastServicedBed、LastServicedという名前を付けています。

CREATE VIEW HospitalCode, WardNo, BedNo, DateLastServiced  
AS SELECT * FROM BED, WARD  

キーワードがないというエラーが表示されます。誰か助けてもらえますか?

4

2 に答える 2

3

SQLに3つのエラーがあります。

  1. ビューを作成するための構文が間違っています
  2. 2つのテーブル間に結合条件はありません
  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

于 2012-08-05T09:02:39.870 に答える
0

ビューの名前を見逃しましたこれを試してください:

CREATE VIEW MyView1 AS SELECT HospitalCode, WardNo, BedNo, DateLastServiced  
 FROM BED, WARD  

また、テーブルの構造がわからないため、SELECTについてもわかりません。

アップデート

ORA-00918: 列の定義があいまいです

このエラーは、BED と WARD の両方のテーブルが同じ列名を持っているため、Oracle がどちらを使用するかを判断できないことを意味します。

ポスト出力

DESCRIBE TABLE BED;
DESCRIBE TABLE WARD;
于 2012-08-05T08:52:34.187 に答える