[解決済み] ORA-00998: この式には、列の別名を付ける必要があります。
2022-02-18 17:32:37
質問
すべてのカラムにエイリアスを追加する必要があることを知り、そうしているのですが、まだエラーが出ます。
CREATE TABLE MENTIONS AS SELECT
UM.USER_ID AS U_ID,
UM.SCREEN_NAME AS USER_SCREEN_NAME,
UM.MENTION_ID AS M_USER_ID,
(
SELECT
UI.USER_SCREEN_NAME AS MENTIONED_USER
FROM
USER_INFO UI
WHERE
UI.USER_ID = UM.MENTION_ID
AND ROWNUM = 1
)
FROM
USER_MENTION UM
USER_MENTIONテーブル
USER_ID SCREEN_NAME MENTION_ID
135846337 irisschrijft 774759032636727300
50117969 Chjulian 13769472
14411827 thenriques45 13769472
26681613 ahenotri 252074645
26681613 ahenotri 9796472
158378782 SpringerOpen 9796472
144241914 Kumarappan 252074645
User_INFO テーブルです。
USER_ID USER_SCREEN_NAME
22553325 jasonesummers
23435691 QRJAM false
67421923 inTELEgentMSP
97393397 knauer0x
85303739 MarriageTheorem
3842711 seki
3036414608 Bayes_Rule
838677852 BOLIGATOR
まだ上記のようなエラーが出ますが、何が間違っているのでしょうか?
解決方法を教えてください。
を検索します。 現在のOracleのバージョンのOracle Error Message Manual . ここでは、エラーについて言及されていますが、追加情報はありません。
このような場合は バージョン9iのオラクルエラーメッセージマニュアル 理由はわかりませんが、多くのエラーメッセージは、9iのマニュアルには説明がありますが、上位バージョンのマニュアルにはありません。9iはかなり古いバージョンなので、記述が古くなっている可能性があります。しかし、貴重なヒントが含まれているかもしれません。
<ブロッククオート
ORA-00998 は、この式に列の別名を付ける必要があります。
原因
CREATE VIEW 文で式または関数が使用されましたが、対応する列名が指定されていません。式または関数がビューで使用されている場合、ビューのすべての列名は CREATE VIEW 文で明示的に指定する必要があります。
アクション
ビューの各カラムの名前を、ビュー名の後の括弧内に入力します。
ビューではなく、selectで作成されたテーブルがあります。そして、実はselectリストの最後の式は、エイリアスのない式です。そこで、最後の式にエイリアスを使用してステートメントを試してみてください。そこで
CREATE TABLE MENTIONS AS SELECT
UM.USER_ID AS U_ID,
UM.SCREEN_NAME AS USER_SCREEN_NAME,
UM.MENTION_ID AS M_USER_ID,
(
SELECT
UI.USER_SCREEN_NAME
FROM
USER_INFO UI
WHERE
UI.USER_ID = UM.MENTION_ID
AND ROWNUM = 1
) AS MENTIONED_USER
FROM
USER_MENTION UM
内側のセレクトリストのカラムエイリアスは無駄なので、削除してください。
関連
-
[解決済み】SQL Serverは「集約関数やサブクエリを含む式に対して集約関数を実行できない」が、Sybaseはできる。
-
[解決済み] pg_restoreです。[archiver] 入力ファイルはテキスト形式のダンプであるように見えます。psql を使用してください。
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] SQL Server サブクエリが 1 つ以上の値を返しました。これは、サブクエリが =, !=, <, <= , >, >= のように続く場合は許可されません。
-
[解決済み] SQL Server - INNER JOIN WITH DISTINCT
-
[解決済み] PLS-00428: この SELECT 文では INTO 句が必要です。
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] 別のテーブルに一致する項目がない行を選択するにはどうすればよいですか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQL select join: すべてのカラムに 'prefix.*' というプレフィックスを付けることは可能ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Excelに合体的な関数はありますか?
-
[解決済み】Teradata - 計算中に数値のオーバーフローが発生しました。
-
[解決済み】一括読み込みデータ変換エラー(切り捨て)
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] 2つの列を分割するには?
-
[解決済み] mongoの外部キー?
-
[解決済み] ORA-01735: 無効な ALTER TABLE オプション - ヒキガエル
-
[解決済み] SQL Server - INNER JOIN WITH DISTINCT
-
[解決済み] SQLです。最初の出現箇所のみを返す
-
[解決済み] 時間を時間単位や10分単位でグループ化する方法