UNRESOLVED_COLUMN エラークラス
名前が <objectName>
の列、変数、またはルーチン・パラメーターは解決できません。
このエラー クラスには、次の派生エラー クラスがあります。
WITHOUT_SUGGESTION
パラメーター
- objectName : 解決できない列またはパラメーターの名前。
WITH_SUGGESTION
次のいずれかを意味しましたか? [<proposal>
]
パラメーター
- objectName : 解決できない列またはパラメーターの名前。
- proposal : 候補のカンマ区切りリスト。
説明
Databricks は、列、列エイリアス、または関数パラメーターが必要なコンテキストで識別子を識別できない場合に、このエラーを発生させます。
このエラーにはいくつかの原因があります。
- 列名またはパラメーター名のスペル ミス。
- 実際には、識別子ではなく文字列リテラルを指定するつもりでした。
- 列の名前が変更されたか、ALTER TABLE を使用して削除された
- 列が副照会の選択リストに含まれていませんでした。
- 列の名前が テーブル別名 または 列別名を使用して変更された。
- 列参照は相関しており、 LATERAL を指定しませんでした。
- 列参照が、同じ選択リストまたはスカラー副照会内で以前に表示されるために表示されないオブジェクトに対するオブジェクトである。
緩和
エラーの軽減策は、原因によって異なります。
-
名前と修飾子のスペルが正しくありませんか?
objectList
で提供されている列と比較し、スペルを修正します。 -
代わりに文字列リテラルを指定するつもりでしたか?
リテラルは一重引用符で囲み、バッククォート (アクセント grave) は囲みません。
-
列がサブクエリから省略されましたか?
サブクエリの選択リストに列を追加します。
-
同じfrom句で以前のリレーションの列を参照していますか?
未解決の列を持つサブクエリの前に
LATERAL
キーワードを追加します。相関クエリのサポートは制限されています。 クエリを書き換える (関連付けを解除する) 必要がある場合があります。 -
列またはフィールドを解決できない理由が不明です。
名前解決の詳細については 、列、フィールド、パラメーター、および変数の解決 を参照してください。
例
SQL
> CREATE OR REPLACE TEMPORARY VIEW colors(cyan, magenta, yellow) AS VALUES(10, 20, 5);
-- The column reference has been misspelled
> SELECT jello FROM colors;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `jello` cannot be resolved.
Did you mean one of the following? [`colors`.`cyan`, `colors`.`yellow`, `colors`.`magenta`]
-- Correct the spelling
> SELECT yellow FROM colors;
5
-- The qualifier has been misspelled
> SELECT color.yellow FROM colors;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `color`.`yellow` cannot be resolved.
Did you mean one of the following? [`colors`.`cyan`, `colors`.`yellow`, `colors`.`magenta`]
-- Correct the spelling
> SELECT colors.yellow FROM colors;
5
-- Forgot to quote a literal
> SELECT hello;
[UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column or function parameter with name `hello` cannot be resolved.
-- Use single quotes
> SELECT 'hello';
-- Used the wrong quotes for a literal
> SELECT `hello`;
[UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column or function parameter with name `hello` cannot be resolved.
-- Use single quotes instead
> SELECT 'hello';
-- Column "got lost" in a subquery.
> SELECT cyan, magenta, yellow
FROM (SELECT cyan, magenta
FROM colors) AS c;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `yellow` cannot be resolved.
Did you mean one of the following? [`c`.`cyan`, `c`.`magenta`]
-- Add the missing column
> SELECT cyan, magenta, yellow
FROM (SELECT cyan, magenta, yellow
FROM colors) AS c;
10 20 5
-- Columns got renamed in the table alias
> SELECT cyan, magenta, yellow
FROM (SELECT cyan, magenta, yellow
FROM colors) AS c(c, m, y);
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `cyan` cannot be resolved.
Did you mean one of the following? [`c`.`c`, `c`.`m`, `c`.`y`];
-- Adjust the names
> SELECT c, m, y
FROM (SELECT cyan, magenta, yellow
FROM colors) AS c(c, m, y);
10 20 5
-- A correlated reference
> SELECT * FROM colors, (SELECT cyan + magenta + yellow AS total_use);
[UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column or function parameter with name `cyan` cannot be resolved.
-- Add LATERAL to permit correation
> SELECT * FROM colors, LATERAL(SELECT cyan + magenta + yellow AS total_use);
10 20 5 35
-- Or de-correlate
> SELECT *, cyan + magenta + yellow AS total_use FROM colors;
10 20 5 35
-- A misspelled parameter name
> CREATE OR REPLACE FUNCTION plus(a INT, b INT) RETURNS INT RETURN arg1 + arg2;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `arg1` cannot be resolved.
Did you mean one of the following? [`plus`.`a`, `plus`.`b`]
-- Fix the names
> CREATE OR REPLACE FUNCTION plus(a INT, b INT) RETURNS INT RETURN a + b;
> SELECT plus(1, 2);
3